温馨提示×

怎样给Debian加FTPServer用户

小樊
45
2026-09-18 22:58:05
栏目: 智能运维

在 Debian 上搭建 FTPS(FTP over SSL/TLS) 并添加用户,常见做法是使用 vsftpd + 系统用户/虚拟用户。下面给你两种常用方案。


一、使用系统用户(简单、适合少量用户)

1. 安装 vsftpd

sudo apt update
sudo apt install vsftpd

2. 配置 FTPS(SSL/TLS)

编辑配置文件:

sudo nano /etc/vsftpd.conf

确保包含以下内容:

listen=YES
listen_ipv6=NO
anonymous_enable=NO
local_enable=YES
write_enable=YES

ssl_enable=YES
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES

rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key

pasv_min_port=40000
pasv_max_port=50000

生产环境建议用正式证书(Let’s Encrypt)

重启服务:

sudo systemctl restart vsftpd

3. 添加 FTPS 用户

sudo useradd -m ftpuser
sudo passwd ftpuser

限制只能 FTP(不能 SSH 登录):

sudo usermod -s /usr/sbin/nologin ftpuser

(如不存在 nologin)

which nologin

4. 设置用户目录权限

sudo chown ftpuser:ftpuser /home/ftpuser
sudo chmod 755 /home/ftpuser

5. 防火墙(如启用)

sudo ufw allow 21
sudo ufw allow 40000:50000/tcp

二、使用虚拟用户(推荐,适合多用户)

1. 安装依赖

sudo apt install vsftpd libpam-pwdfile

2. 创建虚拟用户数据库

sudo mkdir /etc/vsftpd
sudo htpasswd -c -b /etc/vsftpd/virtual_users ftpuser password123

(再加用户去掉 -c


3. 配置 PAM

sudo nano /etc/pam.d/vsftpd

清空后写入:

auth required pam_pwdfile.so pwdfile=/etc/vsftpd/virtual_users
account required pam_permit.so

4. 修改 vsftpd 配置

guest_enable=YES
guest_username=ftp
user_sub_token=$USER
local_root=/home/ftp/$USER
chroot_local_user=YES
allow_writeable_chroot=YES

5. 创建用户目录

sudo mkdir -p /home/ftp/ftpuser
sudo chown -R ftp:ftp /home/ftp/ftpuser

三、客户端连接示例

  • 主机:服务器 IP
  • 协议:FTP(显式 TLS)
  • 端口:21
  • 用户名 / 密码:刚创建的

如果你告诉我:

  • 公网服务器还是内网
  • 系统用户还是虚拟用户
  • 是否要 只读 / 多目录

我可以直接帮你写一份完整配置。

0