温馨提示×

linux ftpserver账号如何配

小樊
35
2026-09-14 09:23:18
栏目: 智能运维

在 Linux 上配置 FTP 服务器账号,常见做法是使用 vsftpd(最常用)。下面按“安装 → 创建系统/虚拟用户 → 配置权限”的流程说明。


一、安装 vsftpd(以常见发行版为例)

CentOS / Rocky / Alma

yum install -y vsftpd
systemctl enable --now vsftpd

Ubuntu / Debian

apt update
apt install -y vsftpd
systemctl enable --now vsftpd

二、方式一:使用系统用户(最简单)

1. 创建 FTP 用户

useradd -m ftpuser
passwd ftpuser

2. 限制用户只能 FTP(不能登录 shell,可选)

usermod -s /sbin/nologin ftpuser

3. 配置 vsftpd

编辑:

vim /etc/vsftpd/vsftpd.conf

关键配置:

anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES
allow_writeable_chroot=YES

重启:

systemctl restart vsftpd

✅ 用户 ftpuser 即可用 FTP 登录,根目录为 /home/ftpuser


三、方式二:虚拟用户(推荐,更安全)

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. 配置 PAM

vim /etc/pam.d/vsftpd

注释原有内容,加入:

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

4. 创建映射系统用户

useradd -d /home/ftproot -s /sbin/nologin vftp
mkdir -p /home/ftproot
chown vftp:vftp /home/ftproot

5. 修改 vsftpd 配置

anonymous_enable=NO
local_enable=YES
write_enable=YES
guest_enable=YES
guest_username=vftp
virtual_use_local_privs=YES
chroot_local_user=YES
allow_writeable_chroot=YES
user_config_dir=/etc/vsftpd/user_conf

6. 为每个虚拟用户单独配置(可选)

mkdir -p /etc/vsftpd/user_conf
vim /etc/vsftpd/user_conf/ftpuser1

示例:

local_root=/home/ftproot/ftpuser1
write_enable=YES

创建目录:

mkdir -p /home/ftproot/ftpuser1
chown vftp:vftp /home/ftproot/ftpuser1

重启:

systemctl restart vsftpd

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

防火墙

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

SELinux(CentOS)

setsebool -P ftp_home_dir on

五、测试登录

ftp localhost

或:

lftp ftpuser@server_ip

如果你告诉我:

  • 用的是 哪个 Linux 发行版
  • 内网 / 公网
  • 要不要 只读 / 多用户隔离

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

0