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,如需转载请自行联系原作者