Ubuntu 11.04サーバーで、ユーザーをFTP/sshの特定のディレクトリ(親のディレクトリにアクセスできないようにする)に制限したい。 adduser username
でユーザーを作成し、usermod -d /home/path/to/directory username
でターゲットディレクトリを変更しました。これは完全に機能しました。
私が見つけたものから、/etc/ftp/ftpaccess
ファイルを変更する必要がありますが、ファイル(およびFTP)ディレクトリが存在しません。作ってみましたが何も変わりませんでした。また、私はthisユーザーのみを制限し、他のユーザーは制限しません。
何か案は?
最良の方法は、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
少し遅れますが、将来的には他の人を助けるかもしれません。 VSFTPDをインストールし、構成ファイルvsftpd.confを編集して、次の内容を含めました。
chroot_local_user=YES
allow_writeable_chroot=YES
編集後、サービスを再起動する必要があります:-
service vsftpd restart
FTPユーザーは、追加時に指定されたホームディレクトリに制限されます。
最初にFTPサーバーをインストールする必要があります!ドキュメントを読む:
コメントでFTPサーバーの1つを選択する必要があります↓..または、SSHを既にインストールしている場合は、SFTPを使用できます。これを行うには、あなたのFTPクライアントタイプで:
Sshユーザーに属するすべてのディレクトリでr/wを実行できます
/ etcディレクトリのftpaccessファイルにguestuserオプションを追加します