Synchronize user and group details with LDAP

最后发布时间 : 2022-10-07 22:40:21 浏览量 :

Keeping accounts consistent across clusters using LDAP and YAML
https://www.linuxprobe.com/chapter-23.html
https://github.com/eftales/ldap-videoTutorial
https://blog.51cto.com/u_13994871/3788958

Slurm及OpenLDAP部署
https://www.cnblogs.com/LiuChang-blog/p/12315166.html
https://www.cnblogs.com/liwanliangblog/p/9991499.html#4.%E7%94%9F%E6%88%90LDIF%E6%A0%BC%E5%BC%8F%E6%96%87%E4%BB%B6

https://printing.its.uiowa.edu:9192/content/help/common/topics/sys-user-group-sync-ldap.html

https://blog.51cto.com/skypegnu1/1939552

https://devopstack.cn/linux/394.html#154_219216812364

https://blog.csdn.net/weixin_42728895/article/details/114540168

NFS实现LDAP用户/home
配置有NIS或LDAP等用户信息服务同步admin节点用户信息(管理节点建立slurm用户后,各节点执行 id slurm 可确认其slurm用户是否存在)

用户同步

由于集群中存在多个计算节点,那么提交作业时,所有的计算节点都必须存在此用户账户,并且UID需保持一致。因此在创建用户时需指定用户的UID,并且把用户信息同步到所有的计算节点。此处推荐有条件的用户采用ldap作为用户认证管理工具,适合集群上的用户认证机制,此次由于集群较小,没有使用ldap。

UIDNOW=1300
useradd test -p test -d /public/home/$1 -u ${UIDNOW} -s /bin/bash
scp /etc/passwd /etc/shadow /etc/group cn02:/etc/
scp /etc/passwd /etc/shadow /etc/group cn03:/etc/
scp /etc/passwd /etc/shadow /etc/group cn04:/etc/
scp /etc/passwd /etc/shadow /etc/group cn05:/etc/
  • /etc/passwd: 存储用户UID等相关信息的文件。
  • /etc/shadow: 存储用户密码信息的文件
  • /etc/group: 存储用户组信息的文件。
  • 把这三个文件同步到其他节点之后,就可以保证所有节点的用户是一致的

生成slurm用户

Slurm需要有一个用户用于进行通信、认证等操作,这里用户名为slurm(也可为其它名字):

useradd slurm
pdsh -w node[1-10],login id slurm

其它节点配置有NIS或LDAP等用户信息管理系统,自动从管理节点获取slurm用户信息(无需再单独生成slurm用户),执行以下命令确认是否存在(如未存在,请检查相关服务):

docker run --hostname master --name master -it -d ubuntu-custom:1.0 bash
docker run --hostname node2 --name node2 -it -d ubuntu-custom:1.0 bash
docker run --hostname phpldapadmin --name phpldapadmin -it -d -p 80:80 ubuntu-custom:1.0 bash

master 172.17.0.2
node1 172.17.0.3

apt install ldap-auth-config

dpkg-reconfigure slapd
dpkg-reconfigure ldap-auth-config

getent passwd  john

cn=admin,dc=ldap,dc=com
ldap://172.17.0.2/
apt-get install libnss-ldap ldap-utils 
apt-get install libnss-ldap ldap-utils libpam-ldap  nslcd
apt-get install libnss-ldap ldap-utils libpam-ldap  nslcd sudo-ldap

getent passwd

LDAP NSS

将当前系统中的用户迁移至目录服务

客户端配置

apt-get install ldap-utils libnss-ldap
vim /etc/nsswitch.conf
修改为:
passwd:         files systemd ldap
group:          files systemd ldap
shadow:         files ldap
gshadow:        files

hosts:          files dns
networks:       files

protocols:      db files
services:       db files
ethers:         db files
rpc:            db files

netgroup:       nis

 ldapsearch -x -H ldaps://localhost -W -D cn=admin,dc=ldap,dc=com
 ldapsearch -H ldapi:// -Y EXTERNAL -b "cn=config" -LLL -Q -s base
 ldapmodify -Y EXTERNAL  -H ldapi:///  -f certs.ldif