'su user' の動作は、ローカルでログインした場合と ssh 経由でログインした場合で異なります。

'su user' の動作は、ローカルでログインした場合と ssh 経由でログインした場合で異なります。

myuser私の Ubuntu 18.04 システムには、パスワードのないユーザーがいます:

tester@box:~$ passwd -S myuser
myuser NP 03/31/2020 0 99999 7 -1

ローカルでマシンにログインし、myuser経由に切り替えると、su myuserすべてが期待どおりに動作し、パスワードプロンプトが表示されず、指定されたユーザーに直接切り替えられます。

ただし、SSH 経由で同じマシンにログインして を実行するとsu myuser、パスワードの入力を求められます。

編集: ローカルおよび SSH 経由でログインするために使用されるユーザーは同じです。

この動作の違いはどこから来るのでしょうか? 何か説明があるはずですが、今のところ少しわかりません。

答え1

nullok_secureで置き換えることができます。また、特定のオーバーライドがある場合は、 の値を調整する必要がある場合もあります。common-auth ファイルには次のような内容が含まれている必要があります。nullok/etc/pam.d/common-auth/etc/pam.d/sshd

auth    [success=1 default=ignore]  pam_unix.so nullok

関連情報