NIS를 사용하여 CentOS 7.5 클러스터의 사용자를 관리하는 경우 일부 사용자(그룹)를 삭제할 수 없습니다.

NIS를 사용하여 CentOS 7.5 클러스터의 사용자를 관리하는 경우 일부 사용자(그룹)를 삭제할 수 없습니다.

클러스터 마스터 노드와 컴퓨팅 노드는 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찾으려고 노력했고 다른 IP를 가리키는 시스템 호출 ypcat이 있다는 것을 발견했습니다 .socketconnect

해당 IP(다른 클러스터의 관리 노드를 나타냄)에 로그인했는데 해당 사용자가 /etc/passwd해당 시스템에 나타났습니다. 나는 또한 결과가 두 클러스터 모두에서 domainname동일하다는 것을 발견했습니다.

우리 클러스터 관리 노드의 NIS는 다른 클러스터의 관리 노드를 상위 클러스터로 간주하는 것으로 보입니다.

관련 정보