Ubuntu下设置FTP权限常用步骤如下(以vsftpd为例):
-
安装vsftpd
sudo apt update sudo apt install vsftpd -
配置vsftpd.conf
sudo nano /etc/vsftpd.conf- 基础权限:设置
local_enable=YES(允许本地用户登录)、write_enable=YES(允许写入)。 - 限制用户目录:设置
chroot_local_user=YES(将用户限制在主目录),并启用allow_writeable_chroot=YES(允许chroot环境写入)。 - 可选高级配置:如需虚拟用户,可启用
chroot_list_enable=YES并指定用户列表文件。
- 基础权限:设置
-
设置用户权限
- 创建用户并设置家目录:
sudo adduser ftpuser sudo usermod -d /home/ftpuser ftpuser # 指定家目录(可选) sudo usermod -s /sbin/nologin ftpuser # 禁止shell登录(增强安全) - 赋予权限:
sudo chown ftpuser:ftpuser /home/ftpuser sudo chmod 755 /home/ftpuser # 确保用户可读写执行自己的目录
- 创建用户并设置家目录:
-
配置防火墙(可选)
sudo ufw allow 21/tcp # 允许FTP控制端口 sudo ufw allow 20/tcp # 允许FTP数据端口(主动模式需此端口) -
重启服务生效
sudo systemctl restart vsftpd -
测试连接
使用FTP客户端(如FileZilla)连接服务器,验证登录及权限是否正常。
安全提示:
- 避免使用默认匿名登录,设置
anonymous_enable=NO。 - 若需加密传输,可启用SSL/TLS(配置
ssl_enable=YES并指定证书)。