ユーザーに「su -
user」を使用してログインさせ、SSHを使用してログインさせないようにするにはどうすればよいですか?
シェルをに設定しようとしました/bin/false
が、試みたときにsu
動作しません。
ログインのみを許可する方法はいくつかありますsu
か?
SSHを使用AllowUser
する方法はありますか?(それが行く方法であれば、どのように私はこれをしますか)
ユーザーに「su -
user」を使用してログインさせ、SSHを使用してログインさせないようにするにはどうすればよいですか?
シェルをに設定しようとしました/bin/false
が、試みたときにsu
動作しません。
ログインのみを許可する方法はいくつかありますsu
か?
SSHを使用AllowUser
する方法はありますか?(それが行く方法であれば、どのように私はこれをしますか)
回答:
あなたは使用することができますAllowUsersという / にAllowGroupsを使用すると、sshまたは経由でログインすることを許可されている唯一の少数のユーザー/グループがある場合DenyUsers / のDenyGroupsあなたがいるだけ少数のユーザー/グループ持っている場合ではないログインを許可します。これはsshを介したログインのみを制限することに注意してください。他のログイン方法(コンソール、ftpなど)がまだ可能です。ほとんどのsshインストールでは、これらのオプションを/ etc / ssh / sshd_configファイルに追加する必要があります。
ログインシェルを/ bin / falseに設定している場合は、使用できますsu -s /bin/bash user
(/ bin / bashを選択したシェルに置き換えます)
su - -s /bin/bash user
アカウントにパスワードがない場合(passwd -d username)、それらは対話的にログインできません(コンソール、SSHなど)。有効なシェルがある場合、suは引き続き機能します。ただし、「インタラクティブ」に注意してください。誰かがアカウントのSSHキーペアをセットアップすることに決めた場合、それは機能します!
他の人が言ったように。
DenyUser username
またはDenyGroup groupname
でsshd_config
ssh経由で鍵ペア/パスワードログインを防止するであろう。
私は通常AllowGroup ssh
、これらの行に沿って何かのようなことをし、sshアクセスが必要な人をそのグループに明示的に追加します。
その後、他の人が言ったpasswd -d username
ように、ユーザーのパスワードを空白にして、コンソールや他の方法でログインできないようにすることができます。またはpasswd -l username
アカウントを「ロック」することをお勧めします。sshはロックされたアカウントへのアクセスを、キーがあっても拒否する可能性がありますが、私は肯定的ではありません。
コメントで述べたように、無効なシェルを使用してアカウントにsuすることはできます。そのため、ユーザーのシェルを/ dev / nullまたはbinのシェルに設定すると、そのユーザーにsuを実行できるはずです...
ログインまたは削除を許可されていないユーザーのパスワードを指定しないでください。
# passwd -d myuser
rootのアカウントのユーザーのみをsuし、他のすべてのアクセスを無効にすると仮定します。
これを使用します(rootとして実行):
usermod -e 1 -L user
これは、(他の多くの答えが助言してきたように)パスワードログインを無効にし、それはまた、アカウントが期限切れになります。SSHキーなどを使用して、期限切れのアカウントにログインすることはできません。su user
アカウントの有効期限が切れたという通知が表示されますが、引き続きできます。