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里右击重命名中间带点,否则登录时需用‘’引起来

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐