在CentOS上设置VSFTP(Very Secure FTP Daemon)的权限,可以按照以下步骤进行:
首先,确保你已经安装了VSFTP。如果没有安装,可以使用以下命令进行安装:
sudo yum install vsftpd
安装完成后,启动VSFTP服务并设置开机自启动:
sudo systemctl start vsftpd
sudo systemctl enable vsftpd
编辑VSFTP的配置文件 /etc/vsftpd/vsftpd.conf
:
sudo vi /etc/vsftpd/vsftpd.conf
确保以下配置项存在并正确设置:
listen=YES
listen_ipv6=NO
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
chroot_local_user=YES
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
如果你希望某些用户只能上传文件而不能下载,可以设置 write_enable
和 read_enable
:
write_enable=YES
read_enable=NO
确保 chroot_local_user
设置为 YES
,这样本地用户将被限制在其主目录中。如果你希望某些用户不被chroot,可以在 /etc/vsftpd/user_list
文件中添加这些用户的用户名,并在 /etc/vsftpd/vsftpd.conf
中添加:
userlist_enable=YES
userlist_file=/etc/vsftpd/user_list
userlist_deny=NO
如果SELinux处于 enforcing 模式,可能需要设置VSFTP目录的SELinux上下文:
sudo chcon -Rv --reference=/var/www/html /home/yourusername
保存并退出配置文件后,重启VSFTP服务以应用更改:
sudo systemctl restart vsftpd
使用FTP客户端连接到服务器,验证权限设置是否正确。
确保防火墙允许FTP流量:
sudo firewall-cmd --permanent --add-service=ftp
sudo firewall-cmd --reload
通过以上步骤,你应该能够在CentOS上成功设置VSFTP的权限。如果有任何问题,请检查日志文件 /var/log/messages
或 /var/log/xferlog
以获取更多信息。