Linux でユーザーのログインを禁止しながら、「su - user」を許可するにはどうすればよいでしょうか?

Linux でユーザーのログインを禁止しながら、「su - user」を許可するにはどうすればよいでしょうか?

ユーザーが「su - ユーザー「しかし、ユーザーが SSH を使用してログインできないようにしますか?

シェルを設定しようとしました/bin/falseが、試してもsu機能しません。

のみのログインを許可する方法はいくつかありますかsu?

SSH がAllowUser最適な方法でしょうか? (最適な方法である場合、これをどのように実行すればよいでしょうか)

答え1

使用できます許可ユーザー/グループを許可SSH経由でログインできるユーザー/グループが少数の場合、または拒否ユーザー/拒否グループ少数のユーザー/グループしか持っていない場合ないログインを許可します。これはSSH経由のログインのみを制限しますが、他のログイン方法(コンソール、FTPなど)は引き続き可能です。これらのオプションをsshd_config は、ほとんどの ssh インストール用のファイル。

ログインシェルを/bin/偽使用できますsu -s /bin/bash user(置き換えてバイナリお好みのシェルで

答え2

それでも su を動作させたい場合は、一時的なシェルとして su を使用するsudo -u [username]か、 su に渡すことができます。 にシェルがない場合、どちらも同じことを行います。-s /bin/bash/etc/passwd

答え3

アカウントにパスワードがない場合(passwd -d ユーザー名)では、対話型(コンソール、SSHなど)でログインすることはできません。有効なシェルを持っている場合は、それでも動作します。ただし、「対話的に」ということに注意してください。誰かがアカウントに SSH キーペアを設定することにした場合は動作します。

答え4

上記で説明した内容 (ユーザー パスワードを無効にする、または設定しない) に加えて、pam_access モジュール (pam_access および access.conf のマニュアル ページを参照) を使用してログイン アクセスを制御することもできます。

関連情報