zoukankan      html  css  js  c++  java
  • Centos7搭建vsftp并配置虚拟用户,实现多用户多权限

    一、安装ftp服务
    yum install -y vsftp
    # 安装虚拟用户数据库
    yum -y install libdb-utils
    二、增加一个系统用户‘virftp’ ,所有虚拟用户都会映射到此用户后对文件系统进行读写操作
    #添加用户,用户登录时使用nologin
    useradd -s /sbin/nologin virftp
    #设置用户密码
    passwd virftp
    三、配置vsftp主配置文件
    #备份vsftpd主配置文件
    cp /etc/vsftpd/vsftpd.conf{,.bak}
    #查看过滤配置文件注释后内容
    grep -v "#" /etc/vsftpd/vsftpd.conf
    vim /etc/vsftpd/vsftpd.conf
    
    #禁止匿名用户登录
    anonymous_enable=NO
    #允许本地用户登录
    local_enable=YES
    #启用虚拟账户 
    guest_enable=YES
    #把虚拟账户映射到系统账户virftp              
    guest_username=virftp
    #使用虚拟用户验证(PAM验证)
    pam_service_name=vsftpd
    #设置存放各虚拟用户配置文件的目录(此目录下与虚拟用户名相同的文件为它的配置文件)
    user_config_dir=/etc/vsftpd/vsftpd_viruser
    #启用chroot时,虚拟用户根目录允许写入
    allow_writeable_chroot=YES
    #被动模式,文件传输端口的最大最小范围 pasv_min_port=30000 pasv_max_port=35000
     
    四、配置vsftpd pam验证文件
    #备份
    cp /etc/pam.d/vsftpd{,.bak}
    #将auth及account的所有配置行均注释掉,再添加如下两行
    vim /etc/pam.d/vsftpd
    auth       required     pam_userdb.so   db=/etc/vsftpd/vir_user          
    account    required     pam_userdb.so   db=/etc/vsftpd/vir_user
     
    五、配置虚拟用户访问vsftpd服务
    #创建虚拟用户密码文件(奇数行为帐号,偶数行为密码)
    vim /etc/vsftpd/vir_user
    test01
    pwd_test01
    test02
    pwd_test02
    六、配置虚拟用户各自的配置文件
    #创建‘虚拟用户配置文件’的存放目录
    mkdir /etc/vsftpd/vsftpd_viruser/
    
    #创建和配置虚拟用户各自的配置文件(文件名称是‘虚拟用户名’)
    vim /etc/vsftpd/vsftpd_viruser/test01
    
    # 允许写入
    write_enable=YES
    #允许浏览FTP目录和下载
    anon_world_readable_only=NO
    #禁止用户下载
    #download_enable=NO
    # 允许虚拟用户上传文件
    anon_upload_enable=YES
    # 允许虚拟用户创建目录
    anon_mkdir_write_enable=YES
    # 允许虚拟用户执行其他操作(如改名、删除)
    anon_other_write_enable=YES
    # 上传文件的掩码,如022时,上传目录权限为755,文件权限为644
    anon_umask=022
    # 指定虚拟用户的虚拟目录(虚拟用户登录后的主目录,即登录ftp后访问的根目录)
    local_root=/home/virftp/test01
    七、生成虚拟用户数据库
    db_load -T -t hash -f /etc/vsftpd/vir_user  /etc/vsftpd/vir_user.db
    chmod 700 /etc/vsftpd/vir_user.db
    八、创建虚拟用户的根目录,要保证虚拟用户映射的系统用户,对这个根目录有读写权限
    #创建虚拟用户对应根目录
    mkdir -p /home/virftp/test01
    #修改目录权限
    chown -R virftp.virftp /home/virftp/test01
    九、重启服务
    systemctl restart vsftpd
    #开放端口
    firewall-cmd --zone=public --add-port=21/tcp --permanent
    firewall-cmd --zone=public --add-port=30000-35000/tcp --permanent
    firewall-cmd --reload
    注:若添加新虚拟用户,创建用户对应根目录文件夹、在/etc/vsftpd/vsftpd_viruser/目录下创建用户名为文件名的配置文件,/etc/vsftpd/vir_user文件中添加帐号密码
    #再执行
    db_load -T -t hash -f /etc/vsftpd/vir_user  /etc/vsftpd/vir_user.db
    #重启服务
    systemctl restart vsftpd
     

    #被动模式,文件传输端口的最大最小范围pasv_min_port=30000pasv_max_port=35000

  • 相关阅读:
    聊天机器人遇到的难题
    Node.js应用程序一起使用Webpack的4个简单步骤
    AngularJS页面渲染完成之后执行DOM操作
    js实现取出数组中的最大数和最小数
    npm安装angular-ui-bootstrap和bower安装
    centos7离线安装nginx
    配置SSH免密登录,总是需要输入密码
    idea win 常用快捷键
    二、centos7在线搭建ceph之Filesystem
    k8s使用cephfs来挂载mysql数据
  • 原文地址:https://www.cnblogs.com/lly001/p/14066741.html
Copyright © 2011-2022 走看看