首先确保系统已安装VSFTP,若未安装可通过以下命令安装:
sudo yum install vsftpd -y
安装完成后,启动VSFTP服务并设置为开机自启:
sudo systemctl start vsftpd
sudo systemctl enable vsftpd
编辑VSFTP主配置文件 /etc/vsftpd/vsftpd.conf,调整以下核心参数:
local_enable=YESwrite_enable=YES(允许用户上传/修改文件)chroot_local_user=YESallow_writeable_chroot=YESanonymous_enable=NO保存并退出配置文件。
sudo useradd -m ftpuser # 创建用户并自动生成主目录(/home/ftpuser)
sudo passwd ftpuser # 设置用户密码
sudo chown ftpuser:ftpuser /home/ftpuser # 将主目录所有者设为用户自身
sudo chmod 755 /home/ftpuser # 设置主目录权限(所有者可读写执行,其他用户仅读执行)
注意:若需用户上传文件至主目录,需确保主目录权限至少为
755(drwxr-xr-x)。
若系统SELinux处于Enforcing模式(默认),需调整FTP相关SELinux策略:
sudo setsebool -P ftp_home_dir on
sudo chcon -Rv --type=ftp_home_t /home/ftpuser
提示:若需彻底禁用SELinux对FTP的限制(不推荐),可编辑
/etc/selinux/config文件,将SELINUX=enforcing改为SELINUX=disabled,但需重启系统生效。
若系统使用firewalld防火墙,需开放FTP服务端口(默认21):
sudo firewall-cmd --permanent --add-service=ftp
sudo firewall-cmd --reload
注意:若使用
iptables,需添加规则允许21端口及被动模式端口范围(需在VSFTP配置中指定)。
chroot_local_user=YES已实现,若需允许特定用户突破限制,可将用户名添加至/etc/vsftpd/user_list,并在配置文件中设置userlist_deny=NO。quota工具:sudo yum install quota -y
sudo quotacheck -cum /home # 初始化配额
sudo quotaon -v /home # 开启配额
sudo edquota -u ftpuser # 编辑用户配额(设置软限制/硬限制)
完成所有配置后,重启VSFTP服务使更改生效:
sudo systemctl restart vsftpd
使用FTP客户端(如FileZilla)连接服务器,验证用户能否正常登录、上传/下载文件。
以上步骤覆盖了CentOS下VSFTP的基础权限设置及常见场景需求,可根据实际环境调整参数(如被动模式端口、虚拟用户等)。