招聘网站开发设计,网站建设需要提供的资料,企业营销型企业网站建设,wordpress mysql版本转载说明#xff1a;如果您喜欢这篇文章并打算转载它#xff0c;请私信作者取得授权。感谢您喜爱本文#xff0c;请文明转载#xff0c;谢谢。 接《关于Ansible的模块①》和《关于Ansible的模块②》#xff0c;继续学习ansible的user模块。
user模块可以增、删、改linux远…
转载说明如果您喜欢这篇文章并打算转载它请私信作者取得授权。感谢您喜爱本文请文明转载谢谢。 接《关于Ansible的模块①》和《关于Ansible的模块②》继续学习ansible的user模块。
user模块可以增、删、改linux远程目标节点的用户账户并为其设置账户的属性。 模块参数
参数可选项默认值【红色】含义 name【必填参数】 指定要创建/修改/删除的用户名必填 group -指定用户属于哪个组 groups -指定用户属于哪些组 comment -设置账户描述 home -指定家目录路径默认在/home create_home true/false是否创建家目录默认创建如无需创建则将该参数设置为false move_home true/false是否迁移家目录到指定目录 expires -设置用户到期时间 remove true/false参数在 stateabsent 时使用删除与用户关联的目录。等价于 userdel --remove,默认值为 false password -设置用户密码不能使用明文方式 password_lock true/false锁定密码【不会禁用用户】false表示解锁 update_password on_create/alwaysalways如果密码不同将更新密码 on_create仅为新创建的用户设置密码 append true/false默认值是false用户将只被添加到在指定的组中groups将他们从所有其他组中删除。可以设置为true则用户被添加到指定的组里 authorization -给用户授权可以使用逗号分隔设置多个授权。可使用 authorization删除授权 force true/false指定账户是否被强制删除参数在 stateabsent 时使用等价于 userdel --force默认值为false ssh_key_bits -指定要创建的 SSH 密钥中的位数。 ssh_key_comment -ssh秘钥的注释说明 ssh_key_file .ssh/id_rsa指定 SSH 密钥文件名默认为.ssh/id_rsa ssh_key_passphrase -设置 SSH 密钥的密码。如果未提供密码则 SSH 密钥将默认为没有密码 ssh_key_type rsa指定要生成的 SSH 密钥的类型默认指为rsa generate_ssh_key true/false是否为相关用户生成 SSH 密钥。默认不会覆盖现有的SSH密钥如需覆盖则加上forceyes non_unique -当与 -u 选项一起使用时此选项允许将用户 ID 更改为非唯一值 profile -设置用户的配置文件。可以使用逗号分隔设置多个配置文件。可使用profile删除所有配置文件 role -设置用户的角色可以使用逗号分隔设置多个角色。可使用role删除所有角色 seuser -选择是否在启用selinux的系统上设置seuser类型(user_u) shell -设置用户的默认 shell state absent/present无论账号是否应该存在如果状态与声明不同则采取措施。选值有 present、absent默认值为 present system true/false指定用户是否为系统用户 uid -指定uid信息选填 使用范例
1. 创建一个普通用户
ansible all -m user -a namesre 2. 创建一个用户并指定组
ansible all -m user -a namesre grouproot ansible all -m user -a namesre groupsroot,test 3. 给用户设置修改密码
如果用户不存在则会新创建用户并设置密码用户已存在则会更新密码
# 第一步先在Python里获得明文密码的密文例如给用户sre设置密码为123456则获取123456的密文
[roottest101 ~]# python
Python 2.7.5 (default, Jun 28 2022, 15:30:04)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-44)] on linux2
Type help, copyright, credits or license for more information.import cryptcrypt.crypt(123456) #设置密码123456的密文
$6$qMFSpDtevYE43QLA$38Bnydh7hNMUMZ1nfYXJxRbJdWTvOOXx7P8e9XptmmyneS.cJOCoOaPGWvMLiVc58kmJ1dlTnhl2kVwe4ZUHN1exit()
[roottest101 ~]# ##上面的步骤也可以在命令行一步执行
[roottest101 ~]# python -c import crypt,getpass;pw123456;print(crypt.crypt(pw))#第二步设置修改密码
[roottest101 ~]# ansible all -m user -a namesre password$6$2JT1ImyA5Qpn7Lgl$4ed2kiN4G3ssPTf0Vi6k0EvjDhQVjZtIGC38pWa0nukMVukH5gGXZEZa.mycDV7aVDAsVWmidulZtvBW2yftO. update_passwordalways
#注意引号的位置密码用双引号
登录验证 4. 设置用户到期时间
设置用户sre到期时间为2024年4月2日00:00分今日为2024.4.3
[roottest101 tmp]# date -d 2024-04-02 %s #获取对应日期的unix时间戳
1711987200
[roottest101 tmp]#
[roottest101 tmp]# ansible all -m user -a namesre expires1711987200 commentexpires date is 20240402
[roottest101 tmp]#
[roottest101 tmp]# ssh sre10.0.0.102
sre10.0.0.102s password:
Your account has expired; please contact your system administrator
Authentication failed.
[roottest101 tmp]# 5. 删除一个用户及其家目录
ansible all -m user -a namesre stateabsent #不删除家目录
ansible all -m user -a namesre stateabsent removeyes #删除家目录
#备注stateabsent等价于“userdel --remove”如果远程主机正在以sre用户登录则会删除失败 6. 为用户生成ssh密钥对
为远程服务器中的sre用户生成ssh密钥对生成在/home/sre/.ssh.ssh目录事先不存在会自动创建目录下私钥名id_rsa_sre注释信息sre rsa私钥密码123456
ansible all -m user -a namesre generate_ssh_keyyes ssh_key_file/home/sre/.ssh/id_rsa_sre ssh_key_commentsre rsa ssh_key_passphrase123456 未完待续......
感谢您的阅读与喜爱