Привет, товарищ!
Как все знают, довольно большое распространение получает система контроля версий git.
И все бы хорошо, но многими любимый Gitosis не дружит с АД, а работа через http немного туповата.
Особенно, если настроен через WebDAV.
И тут я немного расскажу как подружить git с AD с последующим использованием через ssh.
К моему удивлению, в рунете (да и на просторах интернационального интернета) я подобных инструкций не видел.
Что у нас есть:
* Debian lenny
* git 1.7
Что нужно:
* openlikewise
* acl
И так. Быстрый HOWTO.
1. Устанавливаем ACL в дебиан.
Перед тем как что-то сделать, проверяем конфигурацию ядра:
И смотрим на наличие:
если этого нет, то ядро необходимо пересобрать.
Далее устанавливаем сам ACL:
И затем редактируем /etc/fstab.
Было:
Стало:
Перемонтируем раздел
Или перезапускаем машину для дополнительной проверки что все завелось ;)
И последняя проверка:
Тут все проще простого.
Заходим на сайт www.likewise.com/download, заполняем инфу, и нам высылают линки на скачивание скрипта для установки.
Выбираем что нам надо и качаем:
ну и запускаем:
После того как установили сей продукт, запускаем:
где domainName — название вашего домена, а ADjoinAccount — пользователь, который умеет добавлять записи в AD. по умолчанию Administrator
И все. Щастье.
Перезапускаем и пробуем зайти под AD аккаунтом:
Осталось самое главное :)
Перед тем как добавить права для групп на репозитории, необходимо группы сначала создать в AD, иначе будет ошибка.
Создали группы и теперь добавляем права на запись:
На чтение:
Вот в общем то и все.
Пользуйтесь и радуйтесь!
Дополнительно есть маленький скриптик, который создает GIT репозиторий и подключает необходимые группы: pastebin.com
Жду конструктивной критики и вопросов!
зы. Огромное спасибо damnerd за советы и знания о GIT.
ff
Как все знают, довольно большое распространение получает система контроля версий git.
И все бы хорошо, но многими любимый Gitosis не дружит с АД, а работа через http немного туповата.
Особенно, если настроен через WebDAV.
И тут я немного расскажу как подружить git с AD с последующим использованием через ssh.
К моему удивлению, в рунете (да и на просторах интернационального интернета) я подобных инструкций не видел.
Что у нас есть:
* Debian lenny
* git 1.7
Что нужно:
* openlikewise
* acl
И так. Быстрый HOWTO.
1. Устанавливаем ACL в дебиан.
Перед тем как что-то сделать, проверяем конфигурацию ядра:
# 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
# file system mount point type options dump pass
proc /proc proc defaults 0 0
/dev/hda1 / ext3 acl,errors=remount-ro 0 1
/dev/hda5 none swap sw 0 0
/dev/hdc /media/cdrom0 udf,iso9660 user,noauto 0 0
/dev/fd0 /media/floppy0 auto rw,user,noauto 0 0
Стало:
# cat /etc/fstab
# file system mount point type options dump pass
proc /proc proc defaults 0 0
/dev/hda1 / ext3 acl,errors=remount-ro 0 1
/dev/hda5 none swap sw 0 0
/dev/hdc /media/cdrom0 udf,iso9660 user,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: Removing leading '/' from absolute path names
# file: path/to/git/test
# owner: www-data
# group: www-data
user::rwx
group::rwx
other::r-x
2. Устанавливаем likewise-open
Тут все проще простого.
Заходим на сайт 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. по умолчанию Administrator
И все. Щастье.
Перезапускаем и пробуем зайти под 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
Жду конструктивной критики и вопросов!
зы. Огромное спасибо damnerd за советы и знания о GIT.
ff