リモートFTPアクセスのみを実行できるLinuxサーバーでユーザーを作成する方法は?

リモートFTPアクセスのみを実行できるLinuxサーバーでユーザーを作成する方法は?

私はUbuntu 10.04 LTSサーバーを実行しており、FTPでのみサーバーにアクセスできるユーザーを作成したいと思います。

これまで私がしたことは次のとおりです。

  • インストールするvsftpd
  • 新しいユーザーを作成すると、デフォルトのログインシェルは次のように設定されます。/bin/false

サーバーの一般ユーザーはFTP経由でホームフォルダにアクセスできますが、リモートシェルアクセスを設定して削除したユーザーも/bin/falseFTP経由でログインできません。

シェルアクセスがサーバーにどのように影響するかを理解できませんか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

関連情報