클러스터 마스터 노드와 컴퓨팅 노드는 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
이 있다는 것을 발견했습니다 .socket
connect
해당 IP(다른 클러스터의 관리 노드를 나타냄)에 로그인했는데 해당 사용자가 /etc/passwd
해당 시스템에 나타났습니다. 나는 또한 결과가 두 클러스터 모두에서 domainname
동일하다는 것을 발견했습니다.
우리 클러스터 관리 노드의 NIS는 다른 클러스터의 관리 노드를 상위 클러스터로 간주하는 것으로 보입니다.