在我的 ubuntu 14.04 中我安装了(FTPD) ftp 服务器。我想为此创建一个用户,并将 nologin 设置为该用户。当使用 FTP 客户端登录时,我希望该特定用户能够看到整个系统目录。
我如何将这样的一个用户限制在一个目录中(例如/usr/local/example
)?
答案1
为了vsftpd
(“非常安全的文件传输协议守护进程”),配置极其简单:
sudo apt-get install vsftpd
然后:
sudo nano /etc/vsftpd.conf
确保正确设置了以下参数:
# Depending on the version you're running, you might want to set the following
# parameter to YES
# (if affected by https://bugs.launchpad.net/ubuntu/+source/vsftpd/+bug/1313450)
listen=YES
# to allow local users to log on:
local_enable=YES
#if you want write access too:
write_enable=YES
# Set anonymous user directory to /srv/ftp (no default)
anon_root=/srv/ftp
# Uncomment this to allow the anonymous FTP user to upload files. This only
# has an effect if the above global write enable is activated. Also, you will
# obviously need to create a directory writable by the FTP user.
#anon_upload_enable=YES
#
# Uncomment this if you want the anonymous FTP user to be able to create
# new directories.
#anon_mkdir_write_enable=YES
# following for debugging purposes (to ensure you're on the right server)
ftpd_banner=Welcome to Aravind's FTP service.
# Now restrict users to their home directories:
chroot_local_user=YES
allow_writeable_chroot=YES
现在,如果您想将特定用户设置为特定目录,只需创建一个具有特定目录的用户:
sudo adduser ftpuser --home /usr/local/example
去测试:
转到正在运行的机器上的终端vsftpd
并输入:ftp 127.0.0.1
如果您看到自己的横幅,则表示vsftpd
成功了!
然后在同一台机器上测试其公共地址:ftp 1.2.3.4
最后从远程机器测试公共地址。如果公共地址出现问题,请检查您的防火墙设置。
补充笔记:
如果不想让用户登录,请将--shell /bin/false
参数添加到adduser
命令中。
如果您不想让它们保留在那里,您可能还想删除所有创建的目录/文件(Desktop
,,Pictures
...) ...adduser