CentOS 上设置 FileZilla 用户权限的两种常见方式
- 使用 vsftpd(系统自带的 FTP 服务,配合系统用户与目录权限)
- 使用 FileZilla Server(Windows 上的图形化 FTP 服务器,通过管理界面添加用户与目录权限)
方案一 使用 vsftpd 在 CentOS 上配置用户权限
- 安装与启动
- 安装:sudo yum install -y vsftpd
- 启动与开机自启:sudo systemctl start vsftpd && sudo systemctl enable vsftpd
- 配置文件:/etc/vsftpd/vsftpd.conf
- 创建系统用户与目录
- 新建用户:sudo adduser ftpuser
- 设置主目录:sudo usermod -d /home/ftpuser ftpuser
- 目录属主与权限:sudo chown -R ftpuser:ftpuser /home/ftpuser && sudo chmod -R 755 /home/ftpuser
- 基本权限配置要点(编辑 /etc/vsftpd/vsftpd.conf)
- 启用本地用户写入:write_enable=YES
- 本地用户根目录与禁锢:local_root=/home/ftpuser、chroot_local_user=YES
- 若启用禁锢且需可写,添加:allow_writeable_chroot=YES
- 匿名相关(如启用匿名):anonymous_enable=YES/NO、anon_upload_enable=YES、anon_mkdir_write_enable=YES、按需添加 anon_other_write_enable=YES
- 防火墙放行(示例)
- FTP 主动模式常用端口:21/TCP(控制)、20/TCP(数据)
- 放行示例:sudo firewall-cmd --permanent --add-port=21/tcp && sudo firewall-cmd --permanent --add-port=20/tcp && sudo firewall-cmd --reload
- 使配置生效:sudo systemctl restart vsftpd
- 客户端连接
- 协议选 FTP 或 FTPS,主机填服务器 IP,端口 21,登录类型 Normal,输入 ftpuser 与密码。
方案二 使用 FileZilla Server 在 CentOS 上配置用户权限
- 说明
- FileZilla Server 官方仅支持 Windows。若需在 CentOS 使用,通常采用 vsftpd;若坚持用 FileZilla Server,可在 Windows 服务器部署,或改用 vsftpd。
- Windows 上快速配置要点(供参考)
- 安装后管理端口默认为 14147(仅本地可改管理口设置)
- 添加用户:Edit → Users → Add,设置用户名与密码
- 设置目录与权限:Edit → Users → Shared folders → Add,为用户根目录勾选所需权限(如读取、写入、删除、目录创建等)
- 被动模式:在 Edit → Settings → Passive mode settings 设置被动端口范围(如 10000–10020),并在网关/防火墙做端口映射
- 安全建议:修改默认管理端口与强密码,必要时启用 IP 过滤与自动封禁。
常见问题与排查
- 上传/创建目录失败
- 检查目录属主与权限(如 chown -R ftpuser:ftpuser /home/ftpuser、chmod -R 755 /home/ftpuser)
- 若启用 chroot_local_user=YES,需加 allow_writeable_chroot=YES 才能写入家目录
- 匿名上传需开启 anon_upload_enable=YES、anon_mkdir_write_enable=YES,并对目标目录放开其他用户写权限(如 chmod o+rw /var/ftp/pub)
- 被动模式连接超时
- 在 vsftpd.conf 设置被动端口范围(如 pasv_min_port=10000、pasv_max_port=10020),并在防火墙放行该范围;云服务器需做安全组/网关映射
- 登录被拒或用户被禁
- 检查 /etc/vsftpd/user_list、/etc/vsftpd/ftpusers 等访问控制文件与 PAM 配置
- 安全性建议
- 避免明文传输,优先使用 FTPS;必要时限制可登录 IP、更改默认端口、启用自动封禁。