Ubuntu 通过ldap集成AD账号登录(nslcd方式)

Ubuntu 通过ldap集成AD账号登录


注:该方式不依赖于AD的server for nis,单纯AD服务即可


安装libnss-ldapd(会自动安装nscd、nslcd)、libpam-ldapd


# apt-get install libnss-ldapd libpam-ldapd  (中间配ldap部分可直接回车或随便写,后面调nslcd.conf文件即可)



# vi /etc/nsswitch.conf


passwd: files ldap

group:  files ldap

shadow: files ldap


:wq





# vi /etc/nslcd.conf


 

uri ldap://10.0.1.4:3268


base dc=ming,dc=com


binddn cn=adminldap,cn=Users,dc=ming,dc=com   (adminldap为AD账号,一般权限即可)

bindpw ******    (adminldap的密码)




filter passwd (&(objectClass=user)(objectClass=person)(!(objectClass=computer)))

map    passwd uid           cn

map    passwd uidNumber     objectSid:S-1-5-21-3623811015-3361044348-30300820

map    passwd gidNumber     objectSid:S-1-5-21-3623811015-3361044348-30300820

map    passwd homeDirectory "/home/$cn"

map    passwd gecos         displayName

map    passwd loginShell    "/bin/bash"





filter shadow (objectClass=person)

map shadow uid  sAMAccountName



filter group (|(objectClass=group)(objectClass=person))

map    group gidNumber      objectSid:S-1-5-21-3623811015-3361044348-30300820


:wq





认证后自动创建用户家目录:


# vi /etc/pam.d/common-session


session required pam_mkhomedir.so skel=/etc/skel umask=0022


:wq





# service nscd restart

# service nslcd restart


# getent passwd\shadow\group  (查看是否可以显示AD信息,可以才算正常)


nslcd debug模式(看报错用,正常情况下就restart即可)


# service nslcd stop

# nslcd -d



确认AD账号登录:


# su - aa.yang


# ssh aa.yang@10.0.1.6  (即通过远程ssh,直接写名字,不带域名)


给sudo权限(/etc/sudoers)


新账号登录后是否自动创建家目录




目前发现的bug:


1、显示的AD账号的uid和gid和AD里的真实uid不一致

2、不认原有的group,显示的账号gid同uid

3、显示的AD账号中间为空格,需在AD里右击重命名中间带点,否则登录时需用‘’引起来

本文转自linux博客51CTO博客,原文链接http://blog.51cto.com/yangzhiming/1907710如需转载请自行联系原作者


yangzhimingg

上一篇:学习WPF——初识依赖项属性


下一篇:TensorFlow at Google I/O 2018