openldap默认情况下无法在phpldapadmin中设置用户的sudo权限,但可以通过以下设置,来实现
LDAP SERVER端:
安装openssh-ldap
1 |
yum -y install openssh-ldap
|
拷贝schema文件
1 2 |
cp /usr/share/doc/sudo-1 .8.6p3 /schema .OpenLDAP /etc/openldap/schema/sudo .schema
cp /usr/share/doc/openssh-ldap-5 .3p1 /openssh-lpk-openldap .schema /etc/openldap/schema/
|
修改/etc/openldap/slapd.conf文件,追加下面两行
1 2 |
include /etc/openldap/schema/sudo .schema
include /etc/openldap/schema/openssh-lpk-openldap .schema
|
保存配置重启服务
1 2 3 4 |
slaptest -f slapd.conf -F /etc/openldap/slapd .d
config file testing succeeded
chown -Rf ldap:ldap /etc/openldap/slapd .d
service slapd restart
|
安装phpldapadmin,过程省略,请参考之前的文档
phpldapadmin默认不支持sudo设定
/usr/share/phpldapadmin/templates/creation/sudo.xml
/usr/share/phpldapadmin/templates/modification/sudo.xml
然后phpldapadmin会自动载入,但是phpldapadmin中必须创建一个名为sudoers的OU。后面会提到
客户端配置:
编辑/etc/sudo-ldap.conf文件。追加以下两行:
1 2 |
uri ldap: //172 .16.42.137 //LDAP SERVER的IP地址
sudoers_base ou=sudoers, dc =beyondh, dc =org
|
编辑/etc/nsswitch.conf文件,追加下面一行内容
PHPLDAPADMIN web上的配置:
1、创建一个名为users的OU,并在该OU下创建一个用户bbb
2、创建一个名为SUDOers(没有测试过叫sudoers行不行)的OU,并创建一个sudo policy
3、创建sudo 规则,并将bbb用户加入suo users中
4、验证
1 2 3 4 5 6 7 8 9 10 |
# ssh bbb@172.16.42.135
ssh bbb@172.16.42.135
bbb@172.16.42.135's password:
Last login: Mon Mar 27 18:24:47 2017 from 172.16.42.137
Could not chdir to home directory /home/bbb : No such file or directory
27 Mar 18:56:04 ntpdate[1998]: Can't adjust the time of day: Operation not permitted
-sh-4.1$ sudo su -
[ sudo ] password for bbb:
27 Mar 18:56:22 ntpdate[2016]: 69.89.207.99 rate limit response from server.
27 Mar 18:56:26 ntpdate[2016]: adjust time server 69.89.207.99 offset 0.038788 sec
|
本文转自 曾哥最爱 51CTO博客,原文链接:http://blog.51cto.com/zengestudy/1910888,如需转载请自行联系原作者