温馨提示×

CentOS FTPServer怎么加用户

小樊
55
2026-08-04 03:40:47
栏目: 智能运维

CentOS 上给 FTP 服务器(vsftpd) 添加用户,常见做法如下(最常用、最安全):


一、确认 FTP 服务类型

一般 CentOS 默认使用 vsftpd,先确认是否已安装并运行:

rpm -qa | grep vsftpd
systemctl status vsftpd

如果没装:

yum install -y vsftpd
systemctl enable vsftpd
systemctl start vsftpd

二、方式一:直接添加系统用户(推荐新手)

1️⃣ 创建用户

useradd ftpuser
passwd ftpuser

2️⃣ 禁止该用户 SSH 登录(安全)

usermod -s /sbin/nologin ftpuser

3️⃣ 设置 FTP 目录

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

4️⃣ 配置 vsftpd 允许本地用户

编辑配置文件:

vim /etc/vsftpd/vsftpd.conf

确保有以下配置:

local_enable=YES
write_enable=YES
chroot_local_user=YES
allow_writeable_chroot=YES

重启服务:

systemctl restart vsftpd

✅ 用户 ftpuser 即可用 FTP 登录,且被限制在家目录。


三、方式二:虚拟用户(企业常用,更安全)

适合 多用户、无系统权限 的场景。

1️⃣ 创建虚拟用户文件

vim /etc/vsftpd/vusers.txt

内容:

ftpuser1
123456
ftpuser2
654321

2️⃣ 生成数据库

db_load -T -t hash -f /etc/vsftpd/vusers.txt /etc/vsftpd/vusers.db
chmod 600 /etc/vsftpd/vusers.db

3️⃣ 创建系统映射用户

useradd -d /data/ftp -s /sbin/nologin vftpuser

4️⃣ 配置 PAM

vim /etc/pam.d/vsftpd

注释原内容,添加:

auth required pam_userdb.so db=/etc/vsftpd/vusers
account required pam_userdb.so db=/etc/vsftpd/vusers

5️⃣ vsftpd 配置

guest_enable=YES
guest_username=vftpuser
virtual_use_local_privs=YES
user_config_dir=/etc/vsftpd/user_conf

6️⃣ 为每个虚拟用户单独配置目录

mkdir -p /etc/vsftpd/user_conf
vim /etc/vsftpd/user_conf/ftpuser1
local_root=/data/ftp/ftpuser1
write_enable=YES
mkdir -p /data/ftp/ftpuser1
chown vftpuser:vftpuser /data/ftp/ftpuser1

重启:

systemctl restart vsftpd

四、防火墙 & SELinux(常见问题)

防火墙

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

SELinux

setsebool -P ftp_home_dir on
setsebool -P allow_ftpd_full_access on

五、测试

ftp localhost

或使用 FileZilla / WinSCP 测试。


六、总结

方式 适用场景
系统用户 简单、快速
虚拟用户 多用户、安全、企业

如果你愿意,我可以 按你的 CentOS 版本(7/8/Stream)是否用 SSL(FTPS) 给你一份完整配置清单。

0