クラスタマスターノードとコンピューティングノードは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は、他のクラスタの管理ノードを親クラスタと見なしているようです。