vsftpd+windows 域控用户认证权限配置

  • vsftpd安装及虚拟用户配置
    服务器环境:CentOS Linux release 7.4 3.10.0-693.5.2.el7.x86_64
    服务器软件:vsftpd-3.0.2

  • vsftpd的配置文件
    /etc/vsftpd/vsftpd.conf  主配置文件
    /etc/vsftpd/ftpusers  黑名单
    /etc/vsftpd/vsftpd_conf_migrate.sh  迁移脚本
    /etc/vsftpd/user_list  用户列表,与userlist_enbale和userlist_deny选项密切相关,详见http://blog.csdn.net/bluishglc/article/details/42273197

  • 安装vsftpd
    yum -y install vsftpd
    yum install nscd nss-pam-ldapd nss-* pcre pcre-* -y
    yum install openldap-clients -y

  • 宿主用户
    创建宿主用户,即guest_username,所有虚拟用户都是映射宿主用户的目录权限。
    useradd -d /var/vsftp -s /sbin/nologin vsftp

  • 修改pam_ldap配置文件
    grep -v “#|$” /etc/pam_ldap.conf
    base OU=tu-users,DC=tu,DC=ad
    uri ldap://211.148.18.133/
    ldap_version 3
    binddn CN=gitlab,CN=Users,DC=abc,DC=com
    bindpw password
    pam_login_attribute sAMAccountName

  • 主配置文件
    vi /etc/vsftpd/vsftpd.conf
    #关闭匿名访问
    anonymous_enable=NO
    #启用本地系统用户,包括虚拟用户
    local_enable=YES
    #允许执行FTP命令,如果禁用,将不能进行上传、下载、删除、重命名等操作
    write_enable=YES
    #本地用户umask值
    local_umask=022
    dirmessage_enable=YES
    #启用日志
    xferlog_enable=YES
    xferlog_std_format=YES
    #关闭ftp-data端口,相当于不使用主动模式
    connect_from_port_20=NO
    #限制用户不能离开FTP主目录,启用并设置例外用户清单
    chroot_local_user=YES
    chroot_list_enable=YES
    chroot_list_file=/etc/vsftpd/chroot_list
    #使用ipv4进行监听
    listen=YES
    listen_ipv6=NO
    #pam认证文件名称,位于/etc/pam.d/
    pam_service_name=vsftpd
    #启用全局用户例外清单
    userlist_enable=YES
    #启用tcp封装
    tcp_wrappers=YES
    #虚拟用户权限是否与本地用户相同。为NO时,将与匿名用户的权限相同,在每个虚拟用户配置文件里设置匿名用户的选项等于虚拟用户的权限
    virtual_use_local_privs=NO
    #启用guest后,所有非匿名用户将映射到guest_username进行访问,包括本地系统用户也不能使用,并且转换成一个虚拟用户,与其他虚拟用户的配置方法一样
    guest_enable=YES
    guest_username=vsftp
    #虚拟用户配置文件目录
    user_config_dir=/etc/vsftpd/vuser_conf
    #启用pasv模式
    pasv_enable=YES
    pasv_min_port=33000
    pasv_max_port=34000

  • 主配置文件可参考:man vsftpd.conf或https://security.appspot.com/vsftpd/vsftpd_conf.html
    chroot_list文件
    chroot()会检查chroot_list文件
    touch /etc/vsftpd/chroot_list

注释掉其他本地用户认证的内容,因为启用了guest_enable后,本地用户将失效,所有非匿名用户变成虚拟用户

  • 虚拟用户只使用ldap认证配置
    vi /etc/pam.d/vsftpd
    #%PAM-1.0
    auth required pam_ldap.so
    account required pam_ldap.so
    虚拟用户配置文件
    mkdir /etc/vsftpd/vuser_conf/
    vi /etc/vsftpd/vuser_conf/ftpserver  #文件名与对应FTP虚拟用户一致
      local_root=/var/vsftp/ftpserver  #虚拟用户主目录,用户和组必须指定为宿主用户vsftp
    #vsftpd主配置文件中已规定虚拟用户权限与匿名用户一致,因此以下针对匿名用户的权限配置即为虚拟用户的权限
    anon_umask=002
    anon_world_readable_only=NO
    anon_upload_enable=YES
    anon_mkdir_write_enable=YES
    anon_other_write_enable=YES

  • 虚拟用户主目录和权限
    最新版vsftpd不允许用户主目录有w权限,因此在主目录下新建一个子目录,赋予700权限。所有上传、下载、删除、重命名等操作只能在子目录中进行
    mkdir -p /var/vsftp/ftpserver/newdir
    #chown -R vsftp.vsftp /var/vsftp
    #chmod -R 500 /var/vsftp
    #chmod -R 700 /var/vsftp/newdir

  • 重启
    systemctl restart vsftpd.service

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值