VSFTP在Linux上的权限设置主要涉及用户权限、目录权限及配置文件参数调整,以下是关键操作:
创建用户
sudo useradd -d /home/ftpuser -s /sbin/nologin ftpuser
(禁止登录shell)设置用户密码
sudo passwd ftpuser
限制用户目录(chroot)
/etc/vsftpd/vsftpd.conf
中设置chroot_local_user=YES
,并添加allow_writeable_chroot=YES
避免权限报错。chroot_list_enable=YES
,并在/etc/vsftpd/chroot_list
中添加用户。目录权限
sudo chown ftpuser:ftpuser /home/ftpuser
,sudo chmod 755 /home/ftpuser
。sudo chmod 775 /var/ftp/upload
。配置文件权限控制
/etc/vsftpd/vsftpd.conf
:
local_umask=022
:控制新文件权限(默认用户可读写,组和其他可读)。anon_upload_enable=YES
:允许匿名用户上传(需配合anon_mkdir_write_enable=YES
)。参数 | 作用 |
---|---|
local_enable=YES |
允许本地用户登录 |
write_enable=YES |
允许上传、删除等操作 |
anon_enable=NO |
禁止匿名用户登录(默认值,建议保留) |
xferlog_enable=YES |
启用传输日志记录 |
pasv_enable=YES |
启用被动模式(解决防火墙问题) |
777
权限。sudo firewall-cmd --add-port=21/tcp --permanent
。xferlog
记录用户操作,便于审计。配置后需重启服务生效:sudo systemctl restart vsftpd
。详细参数可参考man vsftpd.conf
或官方文档。