配置linux主机使用ldap用户

目的:linux系统默认使用自己的Unix用户,我们有时需要多台主机都使用同一个用户,这样的还用户管理就比较麻烦。比较简单的解决方法是配置这些linux主机都使用同一个ldap的用户,这样只需要在ldap中进行用户更改即可,不再需要所有主机都进行更改了。


配置客户端:

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




验证:

切换为系统中没有,ldap中有的用户。如果OK,则成功。

ldapsearch -x -b 'ou=people,dc=yinkp,dc=com'


su - [ldapuser]



批量修改主机使用ldap用户:

分发上面已经配置好的主机上的文件到其它linux主机

注:如果没有分发脚本,也可以一个一个文件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服务

runRemoteCmd.sh "/bin/systemctl restart  nslcd.service && /bin/systemctl restart  sssd.service" ldap_client

你可能感兴趣的:(配置linux主机使用ldap用户)