1.快速登入主機(無需輸入密碼)
cp /usr/share/doc/sudo-1.8.6p3/schema.OpenLDAP /etc/openldap/schema/sudo.schema
vim /etc/openldap/slapd.conf
18 include /etc/openldap/schema/sudo.schema
rm -rf /etc/openldap/slapd.d/*
slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d/
chown -R ldap:ldap /etc/openldap/slapd.d/*
/etc/init.d/slapd restart
2.編輯sudo權限的ldif檔案
[root@master ~]# vim sudo.ldif
dn: ou=sudoers,dc=lansgg,dc=com
objectClass: top
objectClass: organizationalUnit
ou: sudoers
dn: cn=defaults,ou=sudoers,dc=lansgg,dc=com
objectClass: sudoRole
cn: defaults
sudoOption: !visiblepw
sudoOption: always_set_home
sudoOption: env_reset
sudoOption: requiretty
dn: cn=tom,ou=sudoers,dc=lansgg,dc=com
cn: tom
sudoCommand: ALL
sudoHost: ALL
sudoOption: !authenticate
sudoRunAsUser: ALL
sudoUser: tom
3.導入
ldapadd -x -w adminpw -D "cn=admin,dc=lansgg,dc=com" -f sudo.ldif
4.用戶端編輯
vim /etc/sudo-ldap.conf
55 #uri ldap://ldapserver
56 uri ldap://192.168.28.139
63 #sudoers_base ou=SUDOers,dc=example,dc=com
64 sudoers_base ou=sudoers,dc=lansgg,dc=com
vim /etc/nsswitch.conf
64 sudoers: ldap files
5.伺服器測試
[root@master ~]# ssh [email protected]
reverse mapping checking getaddrinfo for bogon [192.168.28.143] failed - POSSIBLE BREAK-IN ATTEMPT!
[email protected]'s password:
Last login: Sat Aug 23 23:15:27 2014 from 192.168.28.150
[tom@c1 ~]$ sudo su
[root@c1 tom]#
url:http://blog.51cto.com/laoguang/1636273
三. LDAP負責sudo
3.1 拷貝sudo schema,centos版本不一樣,可能sudo的版本不是1.8.6,其他的也可以
# cp /usr/share/doc/sudo-1.8.6p3/schema.OpenLDAP /etc/openldap/schema/sudo.schema
3.2 修改檔案導入schema# vim /etc/openldap/slapd.conf
include /etc/openldap/schema/sudo.schema
3.3 重新生成配置檔案,重新開機slapd
# rm -rf /etc/openldap/slapd.d/*
# slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d
# chown -R ldap:ldap /etc/openldap/slapd.d/*
# service slapd restart
3.4 導入sudo.ldif到ldapserver
# ldapadd -x -W -D "cn=admin,dc=jumpserver,dc=org" -f sudo.ldif
#說明:将sudo.ldif中的dc=jumpserver,dc=org換作你的baseDN
3.5 testserver設定sudo使用ldap
說明: centos6上sudo-1.7.4p5的使用的ldap配置檔案是 /etc/sudo-ldap.conf,sudo版本不同使用的配置檔案可能也有所不同,sudo -V | grep 'ldap.conf' 檢視
# sudo -V | grep 'ldap.conf'
...
ldap.conf path: /etc/sudo-ldap.conf # 已知有的版本是 /etc/nslcd.conf,下面應該做出對應改變...
--- CentOS6 ---
# echo -e "uri ldap://192.168.20.130\nSudoers_base ou=Sudoers,dc=jumpserver,dc=org" > /etc/sudo-ldap.conf
# echo "Sudoers: files ldap" >> /etc/nsswitch.conf
--- CentOS5 ---
# echo "Sudoers_base ou=Sudoers,dc=jumpserver,dc=org" >> /etc/ldap.conf
# echo "Sudoers: files ldap" >> /etc/nsswitch.conf
3.6 測試sudo
# ssh [email protected]
# sudo su
#說明:密碼是testuser123,sudo su如果不提示輸入密碼,則成功
本文轉自 liqius 51CTO部落格,原文連結:http://blog.51cto.com/szgb17/2052558,如需轉載請自行聯系原作者