- 论坛徽章:
- 0
|
如题: 实在没有头绪麻烦各位了
我现在可以通过openldap 来集中管理用户与登陆(ftp samba 操作系统登录)。但是无法实现权限控制,既在openldap 下面指定那个用户只能登陆那些机器。(目前只要是LDAP中有用户,可以登陆所有的服务器。无法进行权限控制)。 有大虾指点迷津吗?
A B C 3个账号 分别对应 A 只能登陆X机器
b只能登陆y机器
c只能登陆z机器
我目前是 A B C 可以任意登陆 xyz3个机器。
这个用户和特定的主机(IP)到底是如何确定的一直没找到相关资料,但是网上很多人确实实现了。 清高手不吝赐教啊
论坛上很多帖子提到这部分内容,但是小弟愚钝没看明白啊!
http://bbs2.chinaunix.net/thread-960454-1-2.html
http://bbs3.chinaunix.net/thread-1388632-1-5.html
帖子提到的
只要 mv /etc/ldap.conf /etc/ldap.conf.old
ln -sv /etc/openldap/ldap.conf /etc/ldap.conf
然后在ldap.conf 文件总加入:pam_filter |(gidNumber=10)(gidNumber=501)(gidNumber=500)
——————————以下是我的配置文件————————
# LDAP Defaults
#
# See ldap.conf(5) for details
# This file should be world readable but not world writable.
#BASE dc=example, dc=com
#URI ldap://ldap.example.com ldap://ldap-master.example.com:666
#SIZELIMIT 12
#TIMELIMIT 15
#DEREF never
URI ldap://172.20.20.11/
BASE dc=ldap,dc=sinoi
TLS_CACERTDIR /etc/openldap/cacerts
# 新加入的内容
pam_filter gidNumber=502
————————————————————————————结束
部分 ldapsearch内容
————————————————————————————————
# user02, Group, ldap.sinoi
dn: cn=user02,ou=Group,dc=ldap,dc=sinoi
objectClass: posixGroup
objectClass: top
cn: user02
gidNumber: 501
# user02, People, ldap.sinoi
dn: uid=user02,ou=People,dc=ldap,dc=sinoi
uid: user02
cn: user02
objectClass: account
objectClass: posixAccount
objectClass: top
objectClass: shadowAccount
shadowMax: 99999
shadowWarning: 7
loginShell: /bin/bash
uidNumber: 502
gidNumber: 501
homeDirectory: /home/user02
gecos: test2
userPassword:: e1NTSEF9Nlg4c1JuQWhnSU5EMSthOXEwM3d0djNIKzVLcDFZNVo=
# search result
search: 2
result: 0 Success
# numResponses: 24
# numEntries: 23
——————————————————————————
vi /etc/pam.d/system-aute
________内容———————————— 这个内容应该不是主要影响我的吧?
auth required pam_env.so
auth sufficient pam_unix.so nullok try_first_pass
auth requisite pam_succeed_if.so uid >= 500 quiet
auth sufficient pam_ldap.so use_first_pass
auth required pam_deny.so
account required pam_unix.so broken_shadow
account sufficient pam_localuser.so
account sufficient pam_succeed_if.so uid < 500 quiet
account [default=bad success=ok user_unknown=ignore] pam_ldap.so
account required pam_permit.so
session required pam_mkhomedir.so skel=/etc/skel umask=0077
password requisite pam_cracklib.so try_first_pass retry=3
password sufficient pam_unix.so md5 shadow nullok try_first_pass use_authtok
password sufficient pam_ldap.so use_authtok
password required pam_deny.so
session optional pam_keyinit.so revoke
session required pam_limits.so
session [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid
session required pam_unix.so
session optional pam_ldap.so
——————————————————————————————————————————
我加了以上内容以后,登陆USER01 和USER02 可以从ROOT下直接 SU - USER01 .
但是在user01的SHELL下登陆user02和root, 提示登陆密码错误。
————————————命令——————————
root@aflresco-2 ~]# su - user01
-bash-3.1$ su - user01
Password:
su: incorrect password
-bash-3.1$ su - user02
Password:
su: incorrect password
-bash-3.1$
从USER01 切到 root 也提示密码错误!!
——————————————————————————
另外看到sldap.conf里
access to filter=(&(uid=user01)(accountStatus=active)(allowedHost=172.20.20.26))
BY by peername=172.20.20.18 write
这里的FILTER 和 PEERNAME 貌似没啥用啊 我配置了没反应。
小弟第一次弄这种架构的ldap 茫然。
[ 本帖最后由 mrddd1977 于 2009-11-24 10:42 编辑 ] |
|