web-dev-qa-db-ja.com

FTPユーザーをディレクトリに制限する

Ubuntu 11.04サーバーで、ユーザーをFTP/sshの特定のディレクトリ(親のディレクトリにアクセスできないようにする)に制限したい。 adduser usernameでユーザーを作成し、usermod -d /home/path/to/directory usernameでターゲットディレクトリを変更しました。これは完全に機能しました。

私が見つけたものから、/etc/ftp/ftpaccessファイルを変更する必要がありますが、ファイル(およびFTP)ディレクトリが存在しません。作ってみましたが何も変わりませんでした。また、私はthisユーザーのみを制限し、他のユーザーは制限しません。

何か案は?

6
romainberger

最良の方法は、SSHからSFTPを使用してユーザーを投獄することです。

ファイル内:/etc/ssh/sshd_config

この行がコメント化されていないことを確認してください:

Subsystem sftp internal-sftp

次に、グループに一致するようにルールを構成します。

Match group sftponly
         ChrootDirectory /home/%u
         X11Forwarding no
         AllowTcpForwarding no
         ForceCommand internal-sftp

そして最後にユーザーを管理します:

# chown root.root /home/user
# usermod -d / user
# adduser user sftponly

出典: http://www.debian-administration.org/articles/59

8
Paulo Fidalgo

少し遅れますが、将来的には他の人を助けるかもしれません。 VSFTPDをインストールし、構成ファイルvsftpd.confを編集して、次の内容を含めました。

chroot_local_user=YES
allow_writeable_chroot=YES

編集後、サービスを再起動する必要があります:-

service vsftpd restart

FTPユーザーは、追加時に指定されたホームディレクトリに制限されます。

2
MichaelJohn

最初にFTPサーバーをインストールする必要があります!ドキュメントを読む:

コメントでFTPサーバーの1つを選択する必要があります..または、SSHを既にインストールしている場合は、SFTPを使用できます。これを行うには、あなたのFTPクライアントタイプで:

  • ホスト:sftp:// ssh_server_hostname_or_ip
  • login:your_ssh_server_user_name
  • パス:your_ssh_server_user_password

Sshユーザーに属するすべてのディレクトリでr/wを実行できます

0
elacheche

/ etcディレクトリのftpaccessファイルにguestuserオプションを追加します

0
akram