目的:linux系統(tǒng)默認(rèn)使用自己的Unix用戶,我們有時(shí)需要多臺(tái)主機(jī)都使用同一個(gè)用戶酬土,這樣的還用戶管理就比較麻煩。比較簡(jiǎn)單的解決方法是配置這些linux主機(jī)都使用同一個(gè)ldap的用戶格带,這樣只需要在ldap中進(jìn)行用戶更改即可撤缴,不再需要所有主機(jī)都進(jìn)行更改了。
配置客戶端:
a叽唱、安裝ldap客戶端:
yum install nss-pam-ldapd pam_ldap -y?
b屈呕、圖形化配置:
LANG=C authconfig-tui
或者用命令修改:
authconfig --enablemkhomedir --disableldaptls --enableldap --enableldapauth --ldapserver=ldap://110.1.236.51 --ldapbasedn='dc=yinkp,dc=com' --update
cat /etc/sysconfig/authconfig |grep yes?
USEMKHOMEDIR=yes
CACHECREDENTIALS=yes
USESHADOW=yes
FORCELEGACY=yes
USELDAPAUTH=yes
USELDAP=yes
USELOCAUTHORIZE=yes
USEPWQUALITY=yes
1、增加/etc/openldap/ldap.conf
BASE ? dc=yinkp,dc=com
URI ? ?ldap://10.1.236.51:389
2棺亭、修改 /etc/nsswitch.conf中sss為ldap
passwd: ? ? files sss
shadow: ? ? files sss
group: ? ? ?files sss
netgroup: ? files sss
3虎眨、 修改/etc/pam.d/system-auth,/etc/pam.d/password-auth
pam_sss.so 替換為pam_ldap.so
sed -i 's/pam_sss.so/pam_ldap.so/g' /etc/pam.d/system-auth
sed -i 's/pam_sss.so/pam_ldap.so/g' /etc/pam.d/password-auth
4镶摘、修改sssd配置文件:
vi /etc/sssd/sssd.conf
[domain/default]
ldap_search_base = dc=yinkp,dc=com
id_provider = ldap
auth_provider = ldap
chpass_provider = ldap
ldap_uri = ldap://10.1.236.51/
autofs_provider = ldap
cache_credentials = True
krb5_realm = ocdp
krb5_server = host-10-1-236-51
ldap_id_use_start_tls = False
ldap_tls_cacertdir = /etc/openldap/cacerts
[sssd]
services = nss, pam, autofs
config_file_version = 2
domains = default
[nss]
homedir_substring = /home
5嗽桩、修改nslcd配置文件:
vi /etc/nslcd.conf
uri ldap://10.1.236.51/
base dc=yinkp,dc=com
ssl no
6、重啟nslcd/sssd
service nslcd restart
service sssd restart
驗(yàn)證:
切換為系統(tǒng)中沒有凄敢,ldap中有的用戶碌冶。如果OK,則成功涝缝。
ldapsearch -x -b 'ou=people,dc=yinkp,dc=com'
su - [ldapuser]
批量修改主機(jī)使用ldap用戶:
分發(fā)上面已經(jīng)配置好的主機(jī)上的文件到其它linux主機(jī)
注:如果沒有分發(fā)腳本扑庞,也可以一個(gè)一個(gè)文件scp
deploy.sh /etc/sysconfig/authconfig /etc/sysconfig/ all
deploy.sh /etc/openldap/ldap.conf /etc/openldap/ all
deploy.sh /etc/nsswitch.conf /etc/ all
deploy.sh /etc/pam.d/system-auth /etc/pam.d/ all
deploy.sh /etc/sssd/sssd.conf /etc/sssd/ all
deploy.sh /etc/nslcd.conf /etc/ all
重啟nslcd/sssd服務(wù)
runRemoteCmd.sh "/bin/systemctl restart ?nslcd.service && /bin/systemctl restart ?sssd.service" ldap_client