集群主节点和计算节点均采用 CentOS Linux release 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: 无法从 /etc/passwd 中移除 u1
# useradd u1
useradd: 用户 u1 已存在
在/etc/{passwd, shadow}
中没有这些用户。(还有一些对应的 group 也是这种情况)
目前尝试过cd /var/yp/; make
,没有作用。
由于需要安装一些闭源商业软件,用户名和组名必须为预设的内容。
请问如何删除这些用户和组?请各位大佬不吝赐教,谢谢!
1
upojzsb OP `/var/yp/TS10K/passwd.byname`是二进制文件,其中的 ASCII 部分也没有上述提及的用户。
|
2
upojzsb OP 子节点登陆不了上述用户:
```bash [user@cu01 ~]$ su u1 su: user u1 does not exist ``` |
3
upojzsb OP 在 /var/yp/TS10K/中执行
makedbm -u passwd.byname makedbm -u passwd.byuid makedbm -u group.byname makedbm -u group.byuid 均没有出现上述用户(组) |
4
upojzsb OP 尝试使用`strace -o stypcat ypcat passwd`查明`ypcat`从哪里获得这些用户,发现有些`socket`和`connect`的系统调用指向另一个 IP (另一个集群的管理节点)。
,这些用户出现在另一个 IP 的`/etc/passwd`中。这两个集群的`domainname'的结果是一样的。 似乎集群管理节点的 NIS 将另一个集群的管理节点当作了父节点。 |