LinuxサーバーでリモートFTPアクセスのみを持つユーザーを作成するにはどうすればよいですか?


11

Ubuntu 10.04 LTSサーバーを実行していますが、FTPからのみサーバーにアクセスできるユーザーを作成したいと考えています。

これまでに行ったことは次のとおりです。

  • インストール vsftpd
  • デフォルトのログインシェルが設定された新しいユーザーを作成します /bin/false

サーバー上の通常のユーザーはすべてftp経由でホームフォルダーにアクセスできますが、リモートシェルアクセスがに設定されて削除されたユーザーは/bin/false、ftpによるログもできません。

シェルアクセスがvsftpdサーバーにどのように影響するかわかりませんか?シェルを再度有効にせずにFTPアクセスを有効にするにはどうすればよいですか?

更新:
私はこの参照を使用する必要があると述べ/sbin/nologin/usr/sbin/nologinUbuntuにあるようです)、ftpアクセスには影響しないはずですが、私の場合は機能しません。


/ bin / trueに設定してみてください
balki

vsftpdを使用したことがありませんが、必要なことを行うソリューションを見つけました。それが最善の解決策であるかどうかはわかりません(うまくいくはずですが、もっと良い方法があるかもしれません)。
pbm 2011

/ bin / trueを試しましたが、機能しません。
jmbouffard

@pbmに感謝しますが、実際のユーザーを使用したいので、私が探しているものとは異なります。
jmbouffard

回答:


12

自分の質問に答えることが良い習慣かどうかはわかりませんが、ftpログインを可能にする簡単な解決策を見つけました。

行を追加する必要がありました

/ usr / sbin / nologin

/ etc / shellsファイルに。この変更の直後、ftpサーバーは、シェルが/ usr / sbin / nologinに設定されているユーザーからのログインを受け入れ始めました。だから彼らはssh経由でログインすることはできませんが、それは私が望んだとおりにftpで動作します。

役立つコメントをありがとう。


これがセキュリティの脆弱性を開くことを数日前にどこかで読みました。私のためにこれを明確にできるエキスパートがいます。
Navneil 2017

0

ユーザーのシェルを/bin/false(または他の無効なシェル)に戻し、次に設定/bin/false/etc/shellsます。

に設定すると、セキュリティ上の重大な問題が発生します。シェルとして持つすべてのデーモンとログインへのFTP(およびおそらく他の)アクセスを許可します。/usr/sbin/nologin/etc/shells/usr/sbin/nologin


1
どうやって?nologinは、nologinを許可するために存在します-オプションのカスタマイズされたメッセージが/etc/nologin.txt含まれるため、ftpユーザーはそれがftpのみであることなどを知ることができます。
Dani_l 2016

vsftpdは、独自のアクセスリストを持つことにより、不正アクセスから保護します。
Dani_l
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.