Linuxで通常のユーザー(Oracleなど)の直接ログインを無効にして、その使用にscpとsftpを許可することは可能ですか?
ファイル/etc/nologin
の作成、アカウントログインシェルの/bin/false
または/sbin/nologin
の設定などの方法では、ユーザーアカウントがインタラクティブシェルにログインできないようにしますが、システムは保護されません。
ユーザーがscp
またはsftp
のみを使用するように明確に制限する場合は、それを正確に実行するように設計された制限付きシェルをインストールします。 rssh
パッケージは、OpenSSHで動作するように設計された制限付きシェルです。
: rssh is a restricted Shell for use with OpenSSH, allowing only scp
: and/or sftp. For example, if you have a server which you only want
: to allow users to copy files off of via scp, without providing Shell
: access, you can use rssh to do that. It is a alternative to scponly.
制限されたchroot
シェルでログインするユーザーにrssh
を設定することを真剣に検討する必要があります。
このような方法でユーザーを制限することのセキュリティへの影響を読んで理解してください。 man
およびrssh.conf
のrssh
ページから始めます。また、chroot
それがどのように機能するか についても理解する必要があります。
ログインシェルはbash
から/usr/sbin/nologin
に変更できます。または/bin/false
は通常のログインを防ぎます。ログインシェルはusermod
で変更できます。
usermod user_name -s /usr/sbin/nologin