centos

centos vsftp用户管理技巧

小樊
46
2025-08-06 09:40:33
栏目: 智能运维

一、基础用户管理

  1. 安装vsftpd

    sudo yum install vsftpd
    sudo systemctl start vsftpd
    sudo systemctl enable vsftpd
    
  2. 创建系统用户

    sudo useradd -d /home/ftpuser -s /sbin/nologin ftpuser  # 禁止登录系统
    sudo passwd ftpuser  # 设置密码
    sudo chown ftpuser:ftpuser /home/ftpuser  # 设置目录归属
    sudo chmod 755 /home/ftpuser  # 设置目录权限
    
  3. 删除用户

    sudo userdel -r ftpuser  # 删除用户及家目录
    

二、虚拟用户管理(推荐)

  1. 创建虚拟用户数据库

    sudo yum install db4 db4-utils  # 安装依赖
    sudo vi /etc/vsftpd/virtusers.txt  # 添加用户(格式:用户名+密码,每行一个)
    sudo db_load -T -t hash -f /etc/vsftpd/virtusers.txt /etc/vsftpd/virtusers.db
    sudo chmod 600 /etc/vsftpd/virtusers.db
    
  2. 配置PAM认证

    sudo vi /etc/pam.d/vsftpd.virtual
    # 添加以下内容
    auth required pam_userdb.so db=/etc/vsftpd/virtusers
    account required pam_userdb.so db=/etc/vsftpd/virtusers
    
  3. 修改vsftpd配置

    sudo vi /etc/vsftpd/vsftpd.conf
    # 启用虚拟用户
    guest_enable=YES
    guest_username=ftpuser  # 映射至系统用户
    virtual_use_local_privs=YES
    pam_service_name=vsftpd.virtual
    chroot_local_user=YES
    allow_writeable_chroot=YES
    

三、权限与安全配置

  1. 限制用户目录

    • 通过chroot_local_user=YES将用户锁定至家目录。
    • 若需允许写入,设置allow_writeable_chroot=YES
  2. 防火墙与SELinux

    sudo firewall-cmd --add-service=ftp --permanent
    sudo firewall-cmd --reload
    sudo setsebool -P ftp_home_dir on  # 允许FTP访问家目录
    
  3. 批量导入用户
    可通过脚本批量生成虚拟用户数据库,示例脚本参考。

四、常用命令与技巧

0
看了该问题的人还看了