zoukankan      html  css  js  c++  java
  • Centos 7 vsftpd ldap 配置

    #ldap 安裝配置 环境Centos7
    #安装
    yum install -y openldap openldap-clients openldap-servers migrationtools pam_ldap python-ldap
    # 关闭防火墙
    systemctl stop firewalld.service
    #配置域名解析
    echo "192.168.20.43 domain.com" >> /etc/hosts
    #配置ldap服务

    vim /etc/openldap/slapd.d/cn=config/olcDatabase={2}hdb.ldif
    olcSuffix: dc=domain(my-domain),dc=com
    olcRootDN: cn=admin,dc=domain(my-domain),dc=com
    新增一行:
    olcRootPW: 123456 #密码根据自己需要修改

    vim /etc/openldap/slapd.d/cn=config/olcDatabase={1}monitor.ldif
    #修改dn.base=""中的cn、dc项 同上
    olcAccess: {0}to * by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=extern
    al,cn=auth" read by dn.base="cn=admin,dc=domain(my-domain),dc=com" read by * none
    #准备数据库
    cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
    chown -R ldap.ldap /var/lib/ldap
    slaptest -u

    56e7c83d ldif_read_file: checksum error on "/etc/openldap/slapd.d/cn=config/olcDatabase={1}monitor.ldif"
    56e7c83d ldif_read_file: checksum error on "/etc/openldap/slapd.d/cn=config/olcDatabase={2}hdb.ldif"
    config file testing succeeded #验证成功
    #启动服务
    systemctl start slapd
    #
    systemctl enable slapd
    #检查ldap
    netstat -lt | grep ldap
    netstat -tunlp | egrep "389|636"
    #导入基础配置
    cd /etc/openldap/schema/
    #将目录下所有.ldif文件 导入ldap
    ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f cosine.ldif
    #生成基础文件
    cd /usr/share/migrationtools/
    vim migrate_common.ph
    71行, 更改域名
    $DEFAULT_MAIL_DOMAIN = "domain.com";
    74行, 更改名称
    $DEFAULT_BASE = "dc=domain,dc=com";
    90行, 更改 schema 的值
    $EXTENDED_SCHEMA = 1;
    ./migrate_base.pl >/root/base.ldif
    #加载基础文件
    ldapadd -x -W -D "cn=admin,dc=domain,dc=com" -f /root/base.ldif
    #配置vsftpd
    yum install vsftpd
    vim /etc/nslcd.conf
    uri ldap://192.168.20.43/
    base dc=domain,dc=com
    ssl no
    service nslcd restart
    vim /etc/openldap/ldap.conf
    添加
    host 192.168.20.43

    # The distinguished name of the search base.
    base dc=domain,dc=com
    uri ldap://domain.com
    binddn cn=admin,dc=domain,dc=com
    bindpw 123456
    vim /etc/pam.d/vsftpd
    删除其他添加
    auth required pam_ldap.so
    account required pam_ldap.so
    vim /etc/vsftpd/vsftpd.conf
    # 将下面选项注释去掉
    anon_upload_enable=YES(匿名上传)
    anon_mkdir_write_enable=YES(匿名创建目录)
    allow_writeable_chroot=YES
    xferlog_file=/var/log/xferlog(日志,注:/var/log/xferlog需要手动创建)
    # 并添加一下内容
    pam_service_name=vsftpd(用户验证(/etc/pam.d/目录下的vsftpd文件)
    userlist_enable=YES
    tcp_wrappers=YES
    use_localtime=YES
    user_config_dir=/etc/vsftpd/userconf(虚拟用户权限配置目录,需要自己创建)
    guest_enable=YES(启用虚拟用户)
    guest_username=ftp(虚拟用户宿主用户)
    # 配置各个用户权限
    vim /etc/vsftpd/userconf/admin(此文件需要与用户同名)
    local_root=/ftp (用户根目录)
    anon_world_readable_only=NO(上传下载)
    anon_other_write_enable=yes(删除/重命名)
    write_enable=YES
    anon_upload_enable=YES
    anon_mkdir_write_enable=YES
    service vsftpd restart

  • 相关阅读:
    js中当call或者apply传入的第一个参数是null/undefined时,js函数内执行的上下文环境是什么?
    闭包的实现原理和作用以及堆栈溢出和内存泄漏原理和相应解决办法
    JavaScript的作用域和作用域链
    词法作用域和动态作用域
    理解 es6 中class构造以及继承的底层实现原理
    new一个对象的详细过程,手动实现一个 new操作符
    实现继承的几种方式以及他们的优缺点
    理解JavaScript的执行上下文栈,可以应用堆栈信息快速定位问题
    原型和原型链-instanceof的底层实现原理
    js判断变量未定义
  • 原文地址:https://www.cnblogs.com/danny-chen/p/6202470.html
Copyright © 2011-2022 走看看