Git, Ad И Ssh. Или Как Контролировать Доступ К Git Через Ad

Привет, друг! Как всем известно, система контроля версий git получает достаточно широкое распространение.

И всё бы ничего, но любимый многими Gitosis не дружит с AD и работает через http Немного Тупой.

Особенно если настроено через WebDAV. И здесь я вам немного расскажу о том, как подключить git к AD и затем использовать его через ssh. К моему удивлению, подобных инструкций в Рунете (да и в международном Интернете) я не увидел.

Что мы имеем: * Дебиан Ленни * мерзавец 1.7 Что вам нужно: *открыть аналогично *acl Так.

Краткое HOWTO.



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 нет подкачки 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 ,errors=remount-ro 0 1 /dev/hda5 нет подкачки 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: удаление начального символа «/» из имен абсолютных путей # файл: путь/к/git/test # владелец: www-данные # группа: www-данные пользователь::rwx группа::rwx другое::r-x


2. Устанавливаем аналогично-открываем

Здесь все просто как груши.

Заходим на сайт 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

Где доменное имя - имя вашего домена и ADjoinAccount - пользователь, который может добавлять записи в AD. Администратор по умолчанию Вот и все.

Счастье.

Перезагрузитесь и попробуйте войти под учетной записью AD:

ssh DOMAIN\\username@git-server



3. Добавьте права

Самое главное осталось :) Прежде чем добавлять права для групп на репозитории, необходимо сначала создать группы в AD, иначе будет ошибка.

Мы создали группы и теперь добавляем права на запись:

setfacl -R -m g:DOMAIN\\group_write:rwx /path/to/git/test; setfacl -R -d -m g:DOMAIN\\group_write:rwx /path/to/git/test;

Для чтения:

setfacl -R -m g:DOMAIN\\group_read:rX /path/to/git/test setfacl -R -d -m g:DOMAIN\\group_read:rX /path/to/git/test

Вот в принципе и все.

Используйте его и наслаждайтесь! Дополнительно есть небольшой скрипт, создающий GIT-репозиторий и подключающий необходимые группы: Pastebin.com Жду конструктивной критики и вопросов! PS Большое спасибо проклятый за советы и знания о GIT. фф Теги: #git #AD #ssh #git

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.