限制 FTP 用户只能访问某个目录

限制 FTP 用户只能访问某个目录

在 Ubuntu 11.04 服务器上,我想将用户限制为 FTP/ssh 的特定目录(这样他就无法访问父目录)。我创建了用户adduser username并使用 更改了目标目录usermod -d /home/path/to/directory username。这非常有效。

根据我的发现,我必须修改一个/etc/ftp/ftpaccess文件,但该文件(和 ftp)目录不存在。我尝试创建它,但它没有改变任何东西。我也只是想限制用户而不是其他人。

有任何想法吗?

答案1

最好的方法是从 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/590

答案2

虽然有点晚了,但将来可能会对其他人有所帮助。我安装了 VSFTPD 并编辑了配置文件 vsftpd.conf,因此它包括:-

chroot_local_user=YES
allow_writeable_chroot=YES

编辑后需要重新启动服务:-

service vsftpd restart

FTP 用户仅限于添加时指定的主目录。

答案3

您需要先安装FTP服务器!阅读文档:

您需要在评论中选择其中一个 FTP 服务器.. 或者,如果您已经安装了 SSH,则可以使用 SFTP。. 为此,只需在 FTP 客户端上输入:

  • 主机:sftp://ssh_server_hostname_or_ip
  • 登录名:your_ssh_server_user_name
  • 通过:your_ssh_server_user_password

您将能够读写属于您的 ssh 用户的所有目录

答案4

将 guestuser 选项添加到 /etc 目录中的 ftpaccess 文件

相关内容