web-dev-qa-db-ja.com

/ etc / shadowは空ですが、パスワードの入力を求められます

カスタムビルドのLinuxディストリビューションを実行するボード(Pine64)があります(buildrootを使用)。

パスワードがないようにrootを構成すると、結果の/etc/shadowファイルは次のようになります:

root::::::::
daemon:*:::::::
bin:*:::::::
sys:*:::::::
sync:*:::::::
mail:*:::::::
www-data:*:::::::
operator:*:::::::
nobody:*:::::::
avahi:*:::::::
dbus:*:::::::
mosquitto:*:::::::
sshd:*:::::::

僕の /etc/passwdは次のようになります:

root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/false
bin:x:2:2:bin:/bin:/bin/false
sys:x:3:3:sys:/dev:/bin/false
sync:x:4:100:sync:/bin:/bin/sync
mail:x:8:8:mail:/var/spool/mail:/bin/false
www-data:x:33:33:www-data:/var/www:/bin/false
operator:x:37:37:Operator:/var:/bin/false
nobody:x:65534:65534:nobody:/home:/bin/false
avahi:x:1000:1000::/:/bin/false
dbus:x:1001:1001:DBus messagebus user:/var/run/dbus:/bin/false
mosquitto:x:1002:65534:Mosquitto user:/:/bin/false
sshd:x:1003:1002:SSH drop priv user:/var/empty:/bin/false

ご覧のとおり、rootにはパスワードが設定されていません。

しかし、起動後にログインしようとすると、パスワードの入力を求められますが、パスワードを入力できません(パスワードを設定しなかったため)。私が試した値はすべてincorrect passwordメッセージ。

[〜#〜] important [〜#〜]:システムをnfsrootで起動しているので、ルートファイルシステムはマシンのNFS共有からマウントされます。

私のnfsフォルダのpasswdshadowの両方の所有者はrootであり、rootのみが両方に書き込むことができます。

では、パスワードを入力する必要がないのに、なぜパスワードの入力を求められるのかわかりますか?

1
Avi Shukron

デフォルトでは、sshdは空のパスワードを許可しません( PermitEmptyPasswords および AuthenticationMethods を参照)。

sePAM (デフォルトで有効になっています)もあります。これにより、PAM構成が空のパスワードで救済される可能性があります。

そうは言っても、あなたは本当に広く開かれたrootアカウントを持ちたいですか?

つまり、パスワードなしの秘密鍵を使用して、rootユーザーの公開鍵認証を簡単に設定できます。そうすれば、パスワードを入力せずにログインできますが、ネットワークにアクセスできるすべての人がログインできるわけではありません。

2
maxschlepzig