CentOS 7.5集群中使用NIS管理用户时某些用户(组)无法删除

CentOS 7.5集群中使用NIS管理用户时某些用户(组)无法删除

集群主节点和计算节点使用 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 将另一个集群的管理节点视为其父节点。

相关内容