在 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
答案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 文件