sshd - авторизация пользователей в AD
Возникла проблема открыть доступ
юзерам к shell’у, но поскольку юзерам тяжело запомнить два имени под
которыми куда заходить (домен win2003 или FreeBSD), пришлось думать как
сделать одно имя для входа на всех компах.
Все настраивалось на FreeBSD 5.5-RELEASE, samba-3.0.23d,1.
Решил сделать авторизацию через winbind.
Настраиваем все по статье.
Далее, чтобы создавались home - устанавливаем pam_mkhomedir:
samba# cd /usr/ports/security/pam_mkhomedir samba# make install clean
| Далее настраиваем sshd для авторизации через winbind и делаем копию на всякий случай:
samba# cd /etc/pam.d samba# cp sshd sshd.orig
| файл /etc/pam.d/sshd
samba# cat /etc/pam.d/sshd auth required pam_nologin.so no_warn auth sufficient pam_opie.so no_warn no_fake_prompts auth requisite pam_opieaccess.so no_warn allow_local auth required pam_unix.so no_warn try_first_pass account required pam_login_access.so account required pam_unix.so session required pam_permit.so password required pam_unix.so no_warn try_first_pass
| изменяем до такого вида:
samba# ee /etc/pam.d/sshd auth required pam_nologin.so no_warn
# аутентификация акуанта через winbind auth sufficient pam_winbind.so
auth sufficient pam_opie.so no_warn no_fake_prompts auth requisite pam_opieaccess.so no_warn allow_local auth required pam_unix.so no_warn try_first_pass
# проверка доступности акуанта account sufficient pam_winbind.so
account required pam_login_access.so account required pam_unix.so
# создание home session required pam_mkhomedir.so skel=/usr/share/skel
session required pam_permit.so password required pam_unix.so no_warn try_first_pass
|
Если есть надобность ограничить доступ к ssh определенным юзером или
группой, то можно использовать параметр pam_winbind
require_membership_of=[SID or NAME]
[SID or NAME]: MYDOMAIN\mygroup или MYDOMAIN\myuser
соответственно в файле /etc/pam.d/sshd изменяем соответствующие строки на:
auth sufficient pam_winbind.so require_membership_of=MYDOMAIN\mygroup account sufficient pam_winbind.so require_membership_of=MYDOMAIN\mygroup
| Проверяем shell юзеров, по умолчанию в samba стоит /bin/false.
Для изменения добавляем строчку в smb.conf:
samba# ee /usr/local/etc/smb.conf template shell=/bin/csh
| Перезапускаем samba:
samba# /usr/local/etc/rc.d/samba.sh restart Performing sanity check on Samba configuration: OK Stopping winbindd. Waiting for PIDS: 2606. Stopping smbd. Stopping nmbd. Removing stale Samba tdb files: ....... done Starting nmbd. Starting smbd. Starting winbindd.
| Создаем каталог, где будут храниться домашние папки юзеров, pam_mkhomedir его не создает:
samba# mkdir /usr/home/DOMAIN
| DOMAIN – имя Вашего домена
Проверяем:
samba# tail -fn 30 /var/log/auth.log
Aug 30 11:03:47 samba pam_winbind[22417]: user 'user' granted access
Aug 30 11:03:47 samba pam_winbind[22417]: user 'user' OK
Aug 30 11:03:47 samba pam_winbind[22417]: user 'user' granted access
|
Примечание: user – пользователь домена
Также можно сделать и на ftp
Может для обычного пользователя, так прокатит, но иногда приходится и
кое что менять, для чего нужно права root'а. Получить их можно включив
этого юзера в группу wheel или немного подкрутив фрю.
Первый варивант:
Можно установить sudo
samba# cd /usr/ports/security/sudo samba# make install clean
| далее правим файл /usr/local/etc/sudoers добавив в него вот такую строку
user ALL=(ALL) NOPASSWD: ALL
| Второй вариант:
Создаем группу в АД и включаем туда тех, кому нужно дать права рута на фри
после чего правим файлик, где заменяем следующие строки
samba# ee/etc/pam.d/su # auth auth sufficient pam_rootok.so no_warn auth sufficient pam_self.so no_warn
#auth requisite pam_group.so no_warn group=wheel root_only fail_safe #заменяем группу wheel на группу с АД, юзерам которой разрешен вход под рутом auth requisite pam_group.so no_warn group=freeadmin root_only fail_safe
auth include system
# account account include system # session session required pam_permit.so
|
Ссылка на обсуждение: http://forum.lissyara.su/viewtopic.php?t=13382.
размещено: 2007-09-04,
последнее обновление: 2007-10-31,
автор: squid
|