插件窝 干货文章 Linux中怎么添加/删除FTP用户并设置权限

Linux中怎么添加/删除FTP用户并设置权限

sudo vsftpd 用户 ftpuser1 964    来源:    2025-04-26

Linux 中添加/删除 FTP 用户并设置权限指南

添加 FTP 用户

1. 创建系统用户

sudo useradd -m ftpuser1  # -m 选项会创建用户主目录
sudo passwd ftpuser1      # 设置用户密码

2. 安装 FTP 服务器 (如 vsftpd)

sudo apt-get install vsftpd  # Ubuntu/Debian
sudo yum install vsftpd      # CentOS/RHEL

3. 配置 vsftpd (编辑配置文件)

sudo nano /etc/vsftpd.conf

确保包含以下关键配置:

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

4. 重启 vsftpd 服务

sudo systemctl restart vsftpd

设置 FTP 用户权限

1. 限制用户只能访问特定目录

sudo usermod -d /path/to/ftp_directory ftpuser1

2. 设置目录权限

sudo chown ftpuser1:ftpuser1 /path/to/ftp_directory
sudo chmod 755 /path/to/ftp_directory

3. 限制用户只能使用 FTP (禁止 shell 登录)

sudo usermod -s /usr/sbin/nologin ftpuser1

删除 FTP 用户

1. 删除用户

sudo userdel ftpuser1

2. 删除用户主目录 (可选)

sudo rm -rf /home/ftpuser1

高级权限设置

1. 创建 FTP 用户组

sudo groupadd ftpusers
sudo usermod -aG ftpusers ftpuser1

2. 设置目录组权限

sudo chown -R ftpuser1:ftpusers /path/to/ftp_directory
sudo chmod -R 775 /path/to/ftp_directory

3. 使用用户列表限制访问

编辑 /etc/vsftpd.user_list/etc/vsftpd.chroot_list 文件来控制哪些用户可以访问 FTP 和被限制在主目录中。

常见问题解决

  1. 连接被拒绝:

    • 检查防火墙设置 sudo ufw allow 20/tcpsudo ufw allow 21/tcp
    • 确保 vsftpd 服务正在运行 sudo systemctl status vsftpd
  2. 无法上传文件:

    • 确保目录权限正确 sudo chmod 755 /path/to/directory
    • 检查 vsftpd.conf 中的 write_enable=YES
  3. 530 Login incorrect:

    • 确保用户密码正确
    • 检查 /etc/pam.d/vsftpd 配置

以上步骤适用于大多数 Linux 发行版,具体细节可能因发行版和 FTP 服务器软件版本略有不同。