Ubuntu下vsftpd用户权限设置指南
在Ubuntu系统上,首先需要安装vsftpd(Very Secure FTP Daemon)。打开终端,执行以下命令更新软件包列表并安装vsftpd:
sudo apt update
sudo apt install vsftpd
安装完成后,需编辑vsftpd的主配置文件/etc/vsftpd.conf
(使用sudo nano /etc/vsftpd.conf
),通过以下关键参数设置用户权限:
local_enable=YES
的注释(或设置为YES
),允许系统本地用户通过FTP登录。write_enable=YES
,允许用户上传、删除或修改文件。chroot_local_user=YES
,将用户锁定在自己的主目录(如/home/ftpuser
),防止访问系统其他路径,提升安全性。chroot_local_user=YES
,必须设置allow_writeable_chroot=YES
,否则用户无法在其主目录中进行写入操作(如创建文件夹、上传文件)。userlist_enable=YES
,指定用户列表文件路径userlist_file=/etc/vsftpd.user_list
,并通过userlist_deny=NO
设置仅允许列表中的用户登录(若设为YES
则拒绝列表用户)。adduser
命令创建FTP专用用户(如ftpuser
),并按照提示设置密码及其他信息(如全名、邮箱)。为增强安全性,建议禁用该用户的shell访问权限(避免通过SSH登录):sudo adduser ftpuser
sudo usermod -s /sbin/nologin ftpuser
/home/ftpuser
)归属正确且权限开放。使用以下命令将主目录所有者设为用户自身,并设置目录权限为755
(允许用户读写执行,其他用户仅读执行):sudo chown ftpuser:ftpuser /home/ftpuser
sudo chmod 755 /home/ftpuser
完成配置文件修改及用户设置后,重启vsftpd服务以应用更改:
sudo systemctl restart vsftpd
若服务器开启了防火墙(如ufw
),需允许FTP默认端口(21/tcp)的流量通过,否则客户端无法连接:
sudo ufw allow 21/tcp
使用FTP客户端(如FileZilla)或命令行工具(如ftp
),输入服务器IP地址、FTP用户名及密码进行连接。连接成功后,尝试上传、下载或创建文件,验证权限设置是否符合预期(如能否写入主目录)。
/etc/vsftpd.user_list
文件仅添加可信用户,减少潜在的安全风险。/var/log/vsftpd.log
),及时发现异常登录或操作行为。