GIT、AD、およびSSH。 または、ADを介してGITへのアクセスを制御する方法

こんにちは、仲間!

誰もが知っているように、gitバージョン管理システムはかなり普及しています。
そして、すべてがうまくいくでしょう、しかし、多くの愛されているGitosisはHELLと友達ではありません、そして、httpを通して働くことは少し馬鹿です。
特にWebDAVを介して構成されている場合。

そしてここで、ADでgitを友達にしてssh経由でそれを使用する方法を少し説明します。
驚いたことに、RuNet(および国際インターネットのオープンスペース)では、そのような指示は見ませんでした。

私たちは何を持っています:
* Debian lenny
* git 1.7

必要なもの:
*オープンライクワイズ
* acl

など。 高速なハウツー。


1. ACLをDebianに設定します。


何かを行う前に、カーネル構成を確認します。
# cat /boot/config-2.6.26-2-686 | grep _ACL
また、次の可用性を確認してください。
CONFIG_EXT3_FS_POSIX_ACL = y
CONFIG_EXT2_FS_POSIX_ACL = y
CONFIG_XFS_POSIX_ACL = y

そうでない場合は、カーネルを再構築する必要があります。

次に、ACL自体をインストールします。
# apt-get install acl
そして/ etc / fstabを編集します。

それは:
# cat /etc/fstab
#ファイルシステムマウントポイントタイプオプションダンプパス
proc / proc procデフォルト0 0
/ dev / hda1 / ext3 acl、errors = remount-ro 0 1
/ dev / hda5 none swap sw 0 0
/ dev / hdc / media / cdrom0 udf、iso9660ユーザー、noauto 0 0
/ dev / fd0 / media / floppy0 auto rw、user、noauto 0 0

次のようになりました:
# cat /etc/fstab
#ファイルシステムマウントポイントタイプオプションダンプパス
proc / proc procデフォルト0 0
/ dev / hda1 / ext3 acl 、エラー= remount-ro 0 1
/ dev / hda5 none swap sw 0 0
/ dev / hdc / media / cdrom0 udf、iso9660ユーザー、noauto 0 0
/ dev / fd0 / media / floppy0 auto rw、user、noauto 0 0


パーティションを再マウントします
# mount -o remount,acl /dev/hda1
または、すべてが起動したことをさらに確認するためにマシンを再起動します;)
そして最後のチェック:
# getfacl /path/to/git/test
getfacl:絶対パス名から先頭の「/」を削除
#ファイル:パス/ to / git / test
#所有者:www-data
#グループ:www-data
ユーザー:: rwx
グループ:: rwx
その他:: rx


2.同様に開くをインストールします


すべてがそれと同じくらい簡単です。
Webサイトwww.likewise.com/downloadにアクセスして情報を入力すると、インストール用のスクリプトをダウンロードするためのリンクが送信されます。
必要なものを選択してダウンロードします。
# wget www.likewise.com/bits/6.0/8360/LikewiseOpen-6.0.0.8360-linux-i386-deb.sh

さて、実行:
# sh LikewiseOpen-6.0.0.8360-linux-i386-deb.sh


この製品をインストールした後、次を実行します。
/opt/likewise/bin/domainjoin-cli join domainName ADjoinAccount

ここで、 domainNameはドメインの名前で、 ADjoinAccountはADにレコードを追加できるユーザーです。 デフォルトは管理者です

そしてそれだけです。 幸福。
再起動して、ADアカウントでログインを試みます。
ssh DOMAIN\\username@git-server

3.権利を追加する


残った最も重要なこと:)

リポジトリにグループの権限を追加する前に、まずADでグループを作成する必要があります。そうしないと、エラーが発生します。
グループを作成し、書き込み許可を追加します。
setfacl -R -mg:DOMAIN\\group_write:rwx /path/to/git/test;
setfacl -R -d -mg:DOMAIN\\group_write:rwx /path/to/git/test;

読書について:
setfacl -R -mg:DOMAIN\\group_read:rX /path/to/git/test
setfacl -R -d -mg:DOMAIN\\group_read:rX /path/to/git/test


それは基本的にそれです。
使用してお楽しみください!

さらに、GITリポジトリを作成し、必要なグループを接続する小さなスクリプトがあります: pastebin.com

建設的な批判や質問を待っています!

PS。 GITについてのヒントと知識をありがとう。

ff

Source: https://habr.com/ru/post/J130187/


All Articles