温馨提示×

linux ftpserver怎么配权限

小樊
45
2026-10-11 03:28:42
栏目: 智能运维

在 Linux 上配置 FTP 服务器权限,通常取决于你用的是哪种 FTP 服务端软件。最常见的有:

  • vsftpd(最常用)
  • proftpd
  • pure-ftpd

下面以 vsftpd(非常常见) 为主说明,再补充通用思路。


一、vsftpd 权限配置(最常见)

1. 安装 vsftpd

# Debian / Ubuntu
apt install vsftpd

# CentOS / RHEL
yum install vsftpd

启动:

systemctl start vsftpd
systemctl enable vsftpd

2. 核心配置文件

/etc/vsftpd.conf

3. 常见权限控制参数

(1)是否允许匿名登录

anonymous_enable=NO

✅ 生产环境一般关闭


(2)本地用户登录

local_enable=YES
write_enable=YES

(3)限制用户只能访问自己的目录(重要)

chroot_local_user=YES
allow_writeable_chroot=YES

⚠️ 如果不加 allow_writeable_chroot,用户主目录不可写会登录失败


(4)限制某些用户不能访问

userlist_enable=YES
userlist_deny=YES
userlist_file=/etc/vsftpd.user_list

在 /etc/vsftpd.user_list 中写用户名即可禁止登录。


4. 用户目录与 Linux 文件权限

FTP 权限 = FTP 配置 + Linux 文件系统权限

示例:

useradd ftpuser
passwd ftpuser
mkdir /home/ftpuser/upload
chown ftpuser:ftpuser /home/ftpuser/upload
chmod 755 /home/ftpuser
  • 读:目录至少 r-x
  • 写:目录需要 rwx

5. 虚拟用户(推荐用于多用户)

适合“只给 FTP,不给系统账号”的场景。

步骤简述:

  1. 创建虚拟用户数据库(db_load)
  2. 配置 PAM
  3. 每个虚拟用户映射到一个系统用户
  4. 可对每个用户单独设目录和权限

如果你需要,我可以专门写一份 vsftpd 虚拟用户完整教程。


二、pure-ftpd 简配(可选)

apt install pure-ftpd

创建用户:

pure-pw useradd ftpuser -u www-data -d /var/www
pure-pw mkdb

权限由:

  • -u 指定系统用户
  • 目录 Linux 权限控制

三、SELinux / 防火墙注意

SELinux(CentOS)

setsebool -P ftp_home_dir on

防火墙

firewall-cmd --add-service=ftp --permanent
firewall-cmd --reload

四、调试建议

看日志:

tail -f /var/log/vsftpd.log
# 或
journalctl -u vsftpd

五、你可以告诉我

  • 用的是 哪个 FTP 软件
  • 是 系统用户还是虚拟用户
  • 想要 只读 / 只写 / 限制目录

我可以直接给你一份 可用的配置文件。

0 踩