集群主节点和计算节点使用 CentOS Linux 版本 7.5.1804(Core)。文件/etc/nsswitch.conf
包含
passwd: files nis sss
shadow: files nis sss
group: files nis sss
的输出getent passwd -s nis
包括
u2:$1$GE2edQgf$UyXuGspuf5uwbp.zK91aH0:9002:9002::/data/home/geou2:/bin/csh
u3:$1$Ddytc7s0$5yPBahgmfVyaqC0.Bur1.1:9003:9003::/data/home/geou3:/bin/csh
u1:$1$3Z52ZIDu$Od.rfOebsXRxI.nrBut1G1:9001:9001::/data/home/geou1:/bin/csh
的输出ypcat passwd
还包括
u2:$1$GE2edQgf$UyXuGspuf5uwbp.zK91aH0:9002:9002::/data/home/geou2:/bin/csh
u3:$1$Ddytc7s0$5yPBahgmfVyaqC0.Bur1.1:9003:9003::/data/home/geou3:/bin/csh
u1:$1$3Z52ZIDu$Od.rfOebsXRxI.nrBut1G1:9001:9001::/data/home/geou1:/bin/csh
我可以用来su
切换到这些用户:
$su u1
Password.
mkdir: cannot create directory '/data': Permission denied
Attempting to create directory /data/home/u1/perl5
mkdir /data: Permission denied at /usr/share/perl5/vendor_perl/local/lib.pm line 269.
BEGIN failed--compilation aborted.
[u1@mu01 /]$
但是删除并创建同名用户会导致以下错误:
# userdel u1
userdel: Unable to remove u1 from /etc/passwd
# useradd u1
useradd: user u1 already exists
中没有这样的用户/etc/{passwd, shadow}
。 (有一些对应的群也有这种情况)
计算节点无法登录上述用户:
[user@cu01 ~]$ su u1
su: user u1 does not exist
执行:
makedbm -u passwd.byname
makedbm -u passwd.byuid
makedbm -u group.byname
makedbm -u group.byuid
上述用户(组)均未出现。
由于我需要安装一些商业软件,所以必须预先设置用户名和组名。
如何删除这些用户和组?感谢您的帮助!
尝试过cd /var/yp/; make
,没有运气。
答案1
感谢 Prem 的建设性意见。
我尝试strace -o stypcat ypcat passwd
找出ypcat
从哪里获取这些用户名,发现有一些socket
系统connect
调用指向另一个 IP。
我登录到该IP(代表另一个集群的管理节点),那些用户出现在/etc/passwd
该机器上。我还发现两个集群的结果domainname
是相同的。
看来我们集群的管理节点的NIS 将另一个集群的管理节点视为其父节点。