温馨提示×

如何设置linux ftpserver权限

小樊
38
2026-09-14 09:24:21
栏目: 智能运维

在 Linux 上搭建 FTPS(FTP over SSL/TLS)服务器 时,权限设置主要涉及 系统用户权限、目录权限、FTP 服务配置、以及 SSL/TLS 安全策略。下面以最常见的 vsftpd(Very Secure FTP Daemon) 为例说明。


一、安装 FTPS 服务(vsftpd)

# Ubuntu / Debian
apt update
apt install vsftpd openssl

# CentOS / Rocky / Alma
yum install vsftpd openssl

二、生成 SSL 证书(FTPS 必需)

openssl req -x509 -nodes -days 365 \
-newkey rsa:2048 \
-keyout /etc/vsftpd/vsftpd.key \
-out /etc/vsftpd/vsftpd.crt

三、vsftpd FTPS 基础配置

编辑配置文件:

vi /etc/vsftpd.conf

核心配置示例(FTPS):

# 启用 FTP
listen=YES

# 禁用匿名
anonymous_enable=NO

# 本地用户登录
local_enable=YES
write_enable=YES

# 强制 FTPS
ssl_enable=YES
allow_anon_ssl=NO
force_local_logins_ssl=YES
force_local_data_ssl=YES

# 证书
rsa_cert_file=/etc/vsftpd/vsftpd.crt
rsa_private_key_file=/etc/vsftpd/vsftpd.key

# 被动模式(防火墙友好)
pasv_enable=YES
pasv_min_port=30000
pasv_max_port=31000

重启服务:

systemctl restart vsftpd

四、Linux 用户与目录权限设置(重点)

1️⃣ 创建 FTP 用户

useradd -m ftpuser
passwd ftpuser

2️⃣ 设置 FTP 根目录

mkdir -p /data/ftp
chown ftpuser:ftpuser /data/ftp
chmod 750 /data/ftp

3️⃣ 限制用户只能访问指定目录(推荐)

# vsftpd.conf
chroot_local_user=YES
allow_writeable_chroot=YES
local_root=/data/ftp

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


五、细粒度权限控制

1️⃣ 只读用户

chmod 555 /data/ftp

或 vsftpd 中:

write_enable=NO

2️⃣ 多用户不同目录

mkdir /data/ftp/user1
chown user1:user1 /data/ftp/user1

vsftpd:

user_config_dir=/etc/vsftpd/user_conf
echo "local_root=/data/ftp/user1" > /etc/vsftpd/user_conf/user1

3️⃣ 组权限管理

groupadd ftpgroup
usermod -aG ftpgroup ftpuser

chown :ftpgroup /data/ftp
chmod 770 /data/ftp

六、防火墙与 SELinux

防火墙

firewall-cmd --add-service=ftp --permanent
firewall-cmd --add-port=30000-31000/tcp --permanent
firewall-cmd --reload

SELinux(CentOS)

setsebool -P ftpd_full_access on

七、安全建议 ✅

  • ✅ 禁用匿名登录
  • ✅ 强制 FTPS(不允许明文)
  • ✅ 使用 chroot 限制目录
  • ✅ 限制被动端口范围
  • ✅ 定期更新证书

八、常见错误

问题 原因
530 Login incorrect PAM / 密码 / Shell 限制
500 OOPS: chroot 目录权限不正确
无法列出目录 被动端口未开放
明文被拒绝 未启用 SSL

如果你用的是 ProFTPD / Pure-FTPd,或者需要 虚拟用户 / LDAP / 云服务器场景,可以告诉我,我可以给你对应方案。

0