ldap sudo权限

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

ldap sudo权限

ldap sudo权限


2、创建一个名为SUDOers(没有测试过叫sudoers行不行)的OU,并创建一个sudo policy

ldap sudo权限

ldap sudo权限


3、创建sudo 规则,并将bbb用户加入suo users中

ldap sudo权限


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

上一篇:sudo提升执行权限


下一篇:多线程简单示例