web-dev-qa-db-ja.com

NISユーザーが突然SSHにログインできなくなる

最近、NISに新しい(クライアント)サーバーを追加しました。 1か月ほどは問題なく動作しましたが、今日から突然SSH経由でログインできなくなりました。同じサーバー上の他のいくつかのサービス(IMAPなど)は正常に機能します。他のNISクライアントは正常に動作しているようです。

SSHセッションは、ログインに成功するとすぐに終了します。

some.nis.user@nismaster:~$ ssh faultyserv
some.nis.usern@faultyserv's password:
Connection to faultyserv closed by remote Host.
Connection to faultyserv closed.

/etc/log/auth.logに含まれるもの:

Aug 31 12:42:22 faultyserv sshd[27909]: pam_unix(sshd:session): session opened for user some.nis.user by (uid=0)
Aug 31 12:42:22 faultyserv sshd[27909]: fatal: login_get_lastlog: Cannot find account for uid 1234

UseLogin yes/etc/ssh/sshd_configを設定すると、ログインできますが、奇妙なシェルが表示されます。

I have no name!@faultyserv:~$ pwd
/home/s/some.nis.user
I have no name!@faultyserv:~$ Sudo echo
Sudo: unknown uid 1234: who are you?
I have no name!@faultyserv:~$ id some.nis.user
uid=1234 gid=1975(some.nis.user) groups=4294967295,2177(somegroup),/*snip a long grouplist*/

NISに何か問題があると思いますが、これを修正する方法がわかりません。誰かアイデアがありますか?

私の/etc/nsswitch.confには(nisのない他のエントリの中で)含まれています:

passwd:         files nis
group:          files nis
shadow:         files nis
netgroup:       nis
1
dtech

問題は、passwd.byuidマップが転送されなかったことです。

nismasteryppush passwd.byuidを実行すると、タイムアウトエラーが発生し、faultyserv/var/log/syslogで次のように生成されました。

Sep  1 09:51:37 faultyserv ypserv[2038]: refuse to transfer passwd.byuid from <ip>, master is faultyserv.mydomain.com)

スレーブサーバーに誤ったマスターサーバーが指定されていました:

# ypwhich -m
services.byservicename nismaster
group.bygid nismaster
group.byname nismaster
protocols.bynumber nismaster
services.byname nismaster
hosts.byname nismaster
netgroup.byhost nismaster
rpc.bynumber nismaster
passwd.byuid faultyserv.mydomain.com
netgroup nismaster
ypservers nismaster
shadow.byname faultyserv.mydomain.com
passwd.byname nismaster
hosts.byaddr nismaster
protocols.byname nismaster
rpc.byname nismaster
netgroup.byuser nismaster
netid.byname faultyserv.mydomain.com

faultyserv/usr/lib/yp/ypinit -s nismasterを再実行すると、問題が修正されました

2
dtech

これは、Debianシステムで使用されているために発生することがあります

# shadowconfig on

これにより、機密性の高いパスワードハッシュがシャドウファイルに配置され、passwdファイルとgroupファイルが同じブランドの「x」エントリで書き換えられます。

Passwdファイルとgroupファイルを再構築する前に、これを行う必要がありますNISマスター上で

# shadowconfig off

Debianではそれは

# cd /var/lib/yp
# make all

clientsのpasswdとgroupに追加する必要のある特別なエントリを忘れないでください。これがpasswdエントリです(postgresのエントリの後)。

postgres:x:115:124:PostgreSQL administrator,,,:/var/lib/postgresql:/bin/bash
+::::::

これがsambashareの後のグループ1です。

sambashare:x:125:
+:::

/etc/nsswitch.confが「nis」について言及しているのと同様に

0
Bonaparte