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设定,需要将下面链接中的两个模板文件保存为下面的路径
http://phpldapadmin.sourceforge.net/wiki/index.php/TemplatesContributed: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文件,追加下面一行内容
1
|
sudoers: files ldap |
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,如需转载请自行联系原作者