解決策 1:
AllowUsers を使用できます / AllowGroups ssh または DenyUsers 経由でのログインを許可されているユーザー/グループが少数しかない場合 / DenyGroups そうでないユーザー/グループが少ない場合 ログインを許可しました。これは ssh 経由のログインのみを制限することに注意してください。他のログイン方法 (コンソール、ftp など) は引き続き可能です。これらのオプションを /etc/ssh/sshd_config に追加する必要があります ほとんどの ssh インストール用のファイルです。
ログイン シェルを /bin/false に設定した場合 su -s /bin/bash user
を使用できます (/bin/bash を置き換えます お好みのシェルで)
解決策 2:
それでも su を機能させたい場合は、 sudo -u [username]
を使用できます または -s /bin/bash
を渡します 一時的なシェルとして su に。 /etc/passwd
にシェルがない場合、どちらも同じことを行います .
解決策 3:
アカウントにパスワードがない場合 (passwd -d ユーザー名 )、インタラクティブにログインすることはできません (コンソール、SSH など)。有効なシェルがある場合、su まだ動作します。ただし、「インタラクティブに」に注意してください。誰かがアカウントに SSH キーペアをセットアップすることに決めた場合、それは機能します!
解決策 4:
sshd_config に DenyUser [username]
行を追加します
これにより、そのユーザーがコンソール経由でログインできなくなるわけではないことに注意してください。
解決策 5:
上記 (ユーザーパスワードを無効にする、および/または設定しない) に加えて、pam_access モジュール (pam_access および access.conf のマニュアルページを参照) を使用して、ログインアクセスを制御できます。