V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
upojzsb
V2EX  ›  Linux

CentOS 7.5 集群使用 NIS 管理用户时存在部分用户(组)无法删除

  •  
  •   upojzsb · 2023-05-16 00:30:11 +08:00 · 967 次点击
    这是一个创建于 588 天前的主题,其中的信息可能已经有所发展或是发生改变。

    集群主节点和计算节点均采用 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,没有作用。

    由于需要安装一些闭源商业软件,用户名和组名必须为预设的内容。

    请问如何删除这些用户和组?请各位大佬不吝赐教,谢谢!

    upojzsb
        1
    upojzsb  
    OP
       2023-05-16 00:45:34 +08:00
    `/var/yp/TS10K/passwd.byname`是二进制文件,其中的 ASCII 部分也没有上述提及的用户。
    upojzsb
        2
    upojzsb  
    OP
       2023-05-16 00:50:30 +08:00
    子节点登陆不了上述用户:
    ```bash
    [user@cu01 ~]$ su u1
    su: user u1 does not exist
    ```
    upojzsb
        3
    upojzsb  
    OP
       2023-05-16 01:01:01 +08:00
    在 /var/yp/TS10K/中执行

    makedbm -u passwd.byname

    makedbm -u passwd.byuid

    makedbm -u group.byname

    makedbm -u group.byuid

    均没有出现上述用户(组)
    upojzsb
        4
    upojzsb  
    OP
       2023-05-16 18:18:09 +08:00
    尝试使用`strace -o stypcat ypcat passwd`查明`ypcat`从哪里获得这些用户,发现有些`socket`和`connect`的系统调用指向另一个 IP (另一个集群的管理节点)。

    ,这些用户出现在另一个 IP 的`/etc/passwd`中。这两个集群的`domainname'的结果是一样的。

    似乎集群管理节点的 NIS 将另一个集群的管理节点当作了父节点。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3579 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 00:50 · PVG 08:50 · LAX 16:50 · JFK 19:50
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.