Ansible 自动安装 LDAP

本文详细介绍LDAP在CentOS Linux 7.5上的安装过程,包括软件版本信息、功能列表及使用说明。涵盖密码策略、SSH-key登录、Web浏览器访问、sudo权限控制等功能,以及时钟同步、模块选择、自动客户端配置等高级特性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

LDAP Installation

软件版本信息

软件版本备注
osCentOS Linux release 7.5.1804 (Core)
ldapOpenLDAP: slapd 2.4.44 (Oct 30 2018 23:14:27)
pythonPython 3.6.5
ansibleansible 2.7.5

功能列表

功能功能说明备注
更改密码用户可以自行更改密码需要遵循密码规则(2个小写字符,包含数字,包含特殊字符,长度不得小于9位)规则信息
ssh-key登录通过 ssh-key 登录用户提供公钥进行公钥配置,连接时使用私钥进行连接无需密码(linux)
web-browerweb浏览器访问用户可通过浏览器进行查看与配置
sudo限制用户执行的命令通过 sudo 规则进行用户行为限制
时钟同步主服务同步Internet,其他服务器同步主服务器保持与 server端时间相同
可选添加模块自行选择安装所需模块根据实际情况进行模块的选择
自动添加 client可自动对客户端进行安装配置配置 housts 进行 client 增加
添加用户与组可自行添加所需用户与组根据需求添加必要的组与用户

安装指南

以下链接请移步源码

快速安装基础配置安装时钟同步服务端安装命令行使用
扩展功能安装客户端安装配置添加客户端自定义用户添加

安装效果

测试

  1. 创建用户、组

    ansible-playbook 07-addaccount.yml --extra-vars "@account_json.json"
    cat account_json.json
    {
      "user_name": "user5",
      "user_passwd": "1qazxsw2",
      "group_name": "dev_ops",
      "user_id": "1005",
      "group_id": "505",
      "mail": "liuyulong@jiumiaodai.com",
      "sudo_roles": true,
      "create_group": true,
      "create_user": true,
      "add_group": true
    }
    

    web查看效果

  2. 测试密码登录

    ssh user5@172.16.10.10
    user5@172.16.10.10's password:
    You are required to change your password immediately (root enforced)
    need a new password
    Creating directory '/home/user5'.
    WARNING: Your password has expired.
    You must change your password now and login again!
    Changing password for user user5.
    (current) LDAP Password:
    

    密码策略生效,首次登录需要更改密码

    # 配置密码为123456,密码复杂度检测为生效
    check_password_quality: module error: (check_password.so) Password for dn="uid=user5,ou=Users,dc=laoshiren,dc=com" does not pass required number of strength checks for the required character sets (3 of 2).
    # 配置密码为qzaCZa,1 规则要匹配到自定义的复杂度要求
    passwd: all authentication tokens updated successfully.
    # 使用新密码登录成功
    ssh user5@172.16.10.10
    user5@172.16.10.10's password:
    Last login: Thu Jan 17 21:10:31 2019 from 172.16.10.1
    [user5@kubernetes-node1 ~]$
    
  3. 测试 sudo 规则

    # 匹配到配置的 sudo 组策略,并且不需要输入密码
    [user5@kubernetes-node1 ~]$ sudo -l
    匹配 %2$s 上 %1$s 的默认条目:
        !visiblepw, always_set_home, match_group_by_gid, env_reset, env_keep="COLORS DISPLAY HOSTNAME HISTSIZE KDEDIR LS_COLORS", env_keep+="MAIL PS1 PS2 QTDIR USERNAME LANG LC_ADDRESS LC_CTYPE",
        env_keep+="LC_COLLATE LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES", env_keep+="LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE", env_keep+="LC_TIME LC_ALL LANGUAGE LINGUAS _XKB_CHARSET
        XAUTHORITY", secure_path=/sbin\:/bin\:/usr/sbin\:/usr/bin, requiretty, !visiblepw, always_set_home, env_reset, env_keep="COLORS DISPLAY HOSTNAME HISTSIZE KDEDIR LS_COLORS", env_keep="MAIL PS1 PS2
        QTDIR USERNAME LANG LC_ADDRESS LC_CTYPE", env_keep="LC_COLLATE LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES", env_keep="LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE", env_keep="LC_TIME
        LC_ALL LANGUAGE LINGUAS _XKB_CHARSET XAUTHORITY", secure_path=/sbin:/bin:/usr/sbin:/usr/bin
    用户 user5 可以在 kubernetes-node1 上运行以下命令:
        (ALL) NOPASSWD: /bin/bash, /bin/chmod, /bin/chown, /bin/mv, /usr/bin/vim, /usr/bin/passwd
    [user5@kubernetes-node1 ~]$
    
  4. 测试使用 ssh-key 方式登录

    配置增加 objecclass 并增加 ssh-key

    # 使用私钥登录
    ssh -i ~/.ssh/id_rsa user5@172.16.10.10
    Last login: Thu Jan 17 21:11:51 2019 from 172.16.10.1
    [user5@kubernetes-node1 ~]$
    
  5. 验证ppolicy生效

    查看更改密码历史,记录5次

    新建用户,测试密码过期提醒

    ssh user6@172.16.10.10
    user6@172.16.10.10's password:
    password will expire in 90 days
    Last login: Thu Jan 17 21:36:28 2019 from 172.16.10.1
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值