当前位置:首页>微思动态 > >详情
全国热线电话 400-881-4699

在线留言

Ansible内置模块之 user

发布作者:微思网络   发布时间:2024-11-25   浏览量:0
Ansible内置模块之 user

ansible.builtin.user 模块支持您在受管主机上创建、配置和删除用户帐户。您可以删除或添加用户、设置用户主目录、设置系统用户帐户 UID、管理密码,以及将用户分配到补充组。要创建可以登录计算机的用户,您需要为 password 参数提供哈希密码该模块所请求的是 useradd, userdel, usermod 三个指令。

1. 选 项 说 明


选项

必须

类型

默认值

说明

name

str

用户名。

state

str

present

用户的状态。可以是   present(存在)或   absent(不存在)。

comment

str

用户的描述信息(GECOS)。

uid

int

用户的   UID

groups

str

用户所属的附加组列表(以逗号分隔)。

append

bool

no

如果为 yes,将用户添加到附加组,而不移除已有的组。

home

str

用户的 home 目录路径。

password

str

用户的密码(加密后的)。

remove

bool

False

仅在 state=absent ,决定是否删除用户家目录

shell

str

用户的登录   shell

system

bool

no

如果为 yes,创建一个系统用户。

move_home

bool

no

如果为 yes,将用户的 home 目录移动到新的位置。

create_home

bool

yes

如果为 yes,在创建用户时创建 home 目录。

2. 用 例

# 一个比较完整的自定义用户用例
- name: Create Users
  ansible.builtin.user:
    name: johnd
    comment: "John Doe"
    uid: 1040
    home: /home/johnd
    create_home: yes
    groups: devops
    append: yes
    state: present
    shell: /bin/bash
    generate_ssh_key: yes
    ssh_key_bits: 2048
    ssh_key_file: .ssh/id_rsa
# 使用ssh-keygen指令效果相同   
    password: "{{ redhat | password_hash('sha512')  }}"

#
删除一个用户
- name: Remove a user
  ansible.builtin.user:
    name: johndoe
    state: absent

#
创建一个系统用户
- name: Create a system user
  ansible.builtin.user:
    name: sysuser
    system: yes

#
创建一个用户并添加到多个组
- name: Create a user and add to groups
  ansible.builtin.user:
    name: johndoe
    groups: wheel,admin
    append: yes

#
修改用户的home 目录
- name: Modify user home directory
  ansible.builtin.user:
    name: johndoe
    home: /newhome/johndoe
    move_home: yes


  • 需要说明的是,在指定 password 参数时,不能使用明文密码,因为后面这一串密码会被直接传送到被管理主机的/etc/shadow 文件中,所以需要先将密码字符串进行加密处理。然后将得到的字符串放到 password 中即可。

  echo "123456" | openssl passwd -1 -salt $(< /dev/urandom tr -dc '[:alnum:]' | head -c 32) -stdin
  $1$4P4PlFuE$ur9ObJiT5iHNrb9QnjaIB0
  echo "123456" | openssl passwd -6 -salt $(< /dev/urandom tr -dc '[:alnum:]' | head -c 32) -stdin
$6$Z3pqrtDizkpqYOzp$gYG/h3e1EO1MNQVJ0dda1aBNDq0qQu9vMSdlz2mEE2NgwEHwDYPaKPBDkFM/OOhGcN5SS.c568U0gphPeACW20
  #
可使用上面的密码创建用户

  • 不同的发行版默认使用的加密方式可能会有区别,具体可以查看/etc/login.defs 文件确认,RHEL9 使用的是 SHA512 加密算法


             

Ansible相关文章推荐


图片

图片


其他城市考试时间
扫码咨询客服小姐姐

图片



返回顶部