web-dev-qa-db-ja.com

VSFTPDでの許可ユーザーリストの使用

Wiki here によると、特定のユーザーは/etc/vsftp.confファイルの次の設定を使用してFTP経由でのログインのみを許可できます。

userlist_enable=YES
userlist_file=/etc/vsftp.user_list
userlist_deny=NO

この構成を使用するようにシステムを構成しましたが、streamsという名前のFTP経由で公開したいユーザーが1人だけなので、/etc/vsftp.user_listは次のようになります。

streams

興味深いことに、ユーザーリストを有効にするとログインできなくなります。 userlist_enableNOに変更すると、正常に機能しますが、有効にすると、すべてにログインできなくなり、再接続を試み続けます。ログイン失敗のメッセージは表示されません。lftpを使用すると、再接続を試み続けるだけです。

私の/etc/vsftp.confファイルはPastebin here で利用でき、/etc/vsftp.user_listhere で利用できます。

ここで何が悪いのですか? streamsユーザーのみがログインできるようにしたいだけです。

3
Naftuli Kay

大ざっぱな一見はあなたの設定ファイルで何も悪いことを示していません...問題は他の場所にあるかもしれません。

あなたはおそらくすでにこれを試しましたが、以下をチェックする価値があるかもしれません:

  • Vsftpdを実行しているユーザーが/etc/vsftp.user_listに対する適切な権限を持っていることを確認してください。 nopriv_userディレクティブで構成された独自の非特権ユーザーはありませんが、デフォルトはnobodyです。
  • chroot_local_usersディレクティブをコメント化して、chroot処理に問題がないか確認してください。
  • 変更後にvsftpdプロセスを再起動しましたか?私にとって一般的な Doh! sysadminの瞬間は、設定を変更したが、プロセスへのHUPを忘れてしまったことです...
  • コマンドラインから直接vsftpdを実行して、エラーがSTDERRに送られるようにします。
  • ログインシェルとして/bin/falseを使用するようにユーザーstreamsを設定しましたか?代わりに/bin/nologinを使用してみてください。 /bin/falseは、そのユーザーがまったくログインできないようにします。
  • 最後の手段として、 PAMおよび仮想ユーザー の使用を検討してください。
2
user62491

私は遅れているかもしれませんが、私はこれを理解しました。私の設定中にこの問題に遭遇しました。構成ファイルの次の行のコメントを外します。

#local_enable=YES *Change To* local_enable=YES

0
warren