私はUbuntu 10.04 LTSサーバーを実行しており、FTPでのみサーバーにアクセスできるユーザーを作成したいと思います。
これまで私がしたことは次のとおりです。
- インストールする
vsftpd
- 新しいユーザーを作成すると、デフォルトのログインシェルは次のように設定されます。
/bin/false
サーバーの一般ユーザーはFTP経由でホームフォルダにアクセスできますが、リモートシェルアクセスを設定して削除したユーザーも/bin/false
FTP経由でログインできません。
シェルアクセスがサーバーにどのように影響するかを理解できませんかvsftpd
?シェルを再度有効にせずにFTPアクセスを有効にするには?
アップデート:
見つけました。この参照私はそれを使用しなければならない/sbin/nologin
(Ubuntuにあるようです/usr/sbin/nologin
)、FTPアクセスに影響を与えてはいけないことを示唆していますが、私の場合はうまくいきません。
答え1
私の質問に答えるのが良い習慣かどうかはわかりませんが、ftpログインを有効にする簡単なソリューションを見つけました。
1行を追加する必要があります。
/usr/sbin/nologin
この変更後、FTP サーバーはシェルが /usr/sbin/nologin に設定されているユーザーのログインを許可し始めます。だから彼らはsshを介してログインすることはできませんが、ftpで私が望む方法で正確に動作します。
役に立つコメントをありがとうございます。
答え2
ユーザーシェル/bin/false
(または他の無効なシェル)を/bin/false
リセットしてから/etc/shells
。
一つ見た基本/usr/sbin/nologin
セキュリティ質問がに設定されました/etc/shells
。すべてのデーモンとシェルログインにFTP(および他の)アクセス権を付与します/usr/sbin/nologin
。