LDAP + sudo [РЕШЕНО]
Сервер
Имеется LDAP сервер с ОС Gentoo (2.6.31-gentoo-r10). Установлены openldap, pam_ldap, nss_ldap с такими флагами:
berkdb crypt elibc_glibc gnutls kerberos kernel_linux odbc overlays perl samba sasl smbkrb5passwd ssl syslog tcpd userland_GNU x86
elibc_glibc kernel_linux ssl userland_GNU x86
elibc_glibc kernel_linux ssl userland_GNU x86
Делалось по этой инструкции.
include /etc/openldap/schema/core.schema
include /etc/openldap/schema/cosine.schema
include /etc/openldap/schema/inetorgperson.schema
include /etc/openldap/schema/nis.schema
include /etc/openldap/schema/openldap.schema# !! вот этой схемы не было, добавил из /usr/portage/distfiles/sudo-1.7.2p7.tar.gz/schema.OpenLDAP !!
include /etc/openldap/schema/sudo.schemapidfile /var/run/openldap/slapd.pid
argsfile /var/run/openldap/slapd.args
loglevel -1# Load dynamic backend modules:
modulepath /usr/lib/openldap/openldap
moduleload back_hdb.soaccess to dn.base=""
by self write
by * authaccess to attrs=userPassword
by self write
by * authaccess to attrs=shadowLastChange
by self write
by * readaccess to *
by * read
by anonymous auth#######################################################################
# BDB database definitions
#######################################################################database hdb
suffix "dc=mydomain,dc=local"checkpoint 32 30
rootdn "cn=Manager,dc=mydomain,dc=local"
rootpw {SSHA}lalalaladirectory /var/lib/openldap-data
Сервер, на который заходим, через авторизацию в LDAP
#%PAM-1.0auth required pam_env.so
auth sufficient pam_unix.so try_first_pass likeauth nullok
auth sufficient pam_ldap.so use_first_pass
auth required pam_deny.soaccount sufficient pam_ldap.so
account required pam_unix.sopassword required pam_cracklib.so difok=2 minlen=8 dcredit=2 ocredit=2 try_first_pass retry=3
password sufficient pam_unix.so try_first_pass use_authtok nullok md5 shadow
password sufficient pam_ldap.so use_authtok use_first_pass
password required pam_deny.sosession required pam_limits.so
session required pam_unix.so
session optional pam_ldap.so
passwd: files ldap
shadow: files ldap
group: ldap files
sudoers: files ldaphosts: files dns
networks: files dnsservices: db files
protocols: db files
rpc: db files
ethers: db files
netmasks: files
netgroup: files
bootparams: filesautomount: files
aliases: files
host ldap.mydomain.ru
base dc=mydomain,dc=local
uri ldap://ldap.mydomain.ru
ldap_version 3
scope onepam_filter objectclass=posixAccount
pam_login_attribute uid
pam_member_attribute uniquememberpam_password exop
nss_base_passwd ou=People,dc=mydomain,dc=local
nss_base_shadow ou=People,dc=mydomain,dc=local
nss_base_group ou=Group,dc=mydomain,dc=local
nss_base_hosts ou=Hosts,dc=mydomain,dc=local
suffix dc=mydomain,dc=local
sudoers_base ou=People,dc=mydomain,dc=localbind_timelimit 30
timelimit 30
host ldap.mydomain.ru
sudoers_debug 2nss_base_passwd ou=People,dc=mydomain,dc=local
nss_base_shadow ou=People,dc=mydomain,dc=local
nss_base_group ou=Groups,dc=mydomain,dc=local
nss_base_hosts ou=Hosts,dc=mydomain,dc=local
elibc_glibc kernel_linux pam userland_GNU x86
По ssh заходим без проблем.
Cуть проблемы: не получается выполнить sudo. Что нужно добавить/поменять?
myserver: sudo -s Пароль: test1 is not in the sudoers file. This incident will be reported
/etc/init.d/nscd status * status: started
В какой группе/ou LDAP должен быть юзер (для ou=People не работает )?
- Для комментирования войдите или зарегистрируйтесь
Гугл не пробовал юзать
Гугл не пробовал юзать ?
например так или этак
Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)
Да, спасибо, пробовал. Но
Да, спасибо, пробовал. Но результатом остался недоволен.
Например, по второй ссылке предлагают создать файл /etc/sudo.ldap, хотя в gentoo используется /etc/ldap.conf.sudo - мелочь, но даже с изменениями у меня не работает.
Именно так и пробовал
Именно так и пробовал изначально. Но как-то вот не выходит каменный цветок..
Может ошибся где?
В ебилде для sudo есть такие
В ебилде для sudo есть такие строчки
/etc/ldap.conf.sudo, как я понимаю, лишний (у меня работало без него). Всё что там есть нужно, по идее, прописать в /etc/ldap.conf. Но тут не уверен, давно настраивал.
Перенёс из
Перенёс из /etc/ldap.conf.sudo в /etc/ldap.conf, но ничего не изменилось:
Вот что в /var/log/messages (удачный вход по ssh и ошибка при выполнении sudo -s)
На сервере LDAP в логах такое http://pastebin.com/ALCFDkdZ
А что прописано в/etc/sudoers
А что прописано в/etc/sudoers ? Из /etc/nsswitch.conf следует, что sudo должно смотреть в нём.
cat /etc/sudoers
Собственно проблему уже решил. Добавил в LDAP группу wheel с GID=10, что дает пользователям LDAP, находящимся в соответствующей группе, право на получение рута без ввода пароля (как раз так, как мне и надо). Очевидно, что для более тонкой настройки sudo, нужно корректировать /etc/sudoers и группы в LDAP.
Спасибо ответившим.