ansible user模块

6/19/2023 LinuxAnsible

# 一、user模块

user模块用于管理用户账号和用户属性

https://docs.ansible.com/ansible/latest/modules/user_module.html#user-module

常用参数 说明
name="" 指定用户名
password="" 指定密码,必须是密文
state= absent|present 删除|创建
system= yes|no 是否为系统用户
shell="" 指定登陆shell
generate_ssh_key= yes|no 是否创建秘钥对
uid= 指定用户的uid
append= yes|no 用户是否追加到其他组
group= 用户属组
groups= 将现有用户加入到某个组,空值就会把该用户从所有所属组中删除
create_home= yes|no 是否建立家目录
remove= yes|no 删除家目录

创建一个用户sky,密码是123

要求是系统用户

非交互式登陆

要求生成自己的秘钥对

不创建家目录

#密码必须是密文,所以先要把明文转换一下,生成md5密文
[root@manage01 ~]# echo 123|openssl passwd -1 -stdin
$1$5V.qzSEd$Yr08MU8K.vXeBZcmavypk1
[root@manage01 ~]# ansible -m user group1 -a 'name=sky password="$1$5V.qzSEd$Yr08MU8K.vXeBZcmavypk1" state=present system=yes shell=/sbin/nologin generate_ssh_key=yes'
192.168.98.203 | CHANGED => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/libexec/platform-python"
    },
    "changed": true,
    "comment": "",
    "create_home": true,
    "group": 991,
    "home": "/home/sky",
    "name": "sky",
    "password": "NOT_LOGGING_PASSWORD",
    "shell": "/sbin/nologin",
    "ssh_fingerprint": "2048 SHA256:b2umG0XfPW0cGAFBFDBNBNbtgaY+s1X4cM334JCGGOo ansible-generated on node3 (RSA)",
    "ssh_key_file": "/home/sky/.ssh/id_rsa",
    "ssh_public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDIvVcTDxT4GotFYolpPPJUS2XYEmgaxCj/YLXfW2vllXJSfa3TwBLN6kJnPBabVFSYCiGRzci28f/rx4chm9TuVsNx6TozzUpolD+T3vzO/rcLdaIEzw+JYXGtqpaTapuuhm6pdQBx04TLmO3pVWBCdbJum0paMIXwPDcGPGz6JwGXWTdA5AXfvWmOZ5ChwwLDUau84R47FHfj9EisclYM3Yt3WfcVp+waSd23BBRj86jh+veL9BR7OnDmmj7YZkOxAqnU/TjuOW1uiGCB91Flgku7fPR3jmbXXrd+Ql9vWlGe22+xgYYjT4KVzlHAr3lE/HZQu49Vz/N78ZnJ1rX3 ansible-generated on node3",
    "state": "present",
    "system": true,
    "uid": 994
}
192.168.98.201 | CHANGED => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/libexec/platform-python"
    },
    "changed": true,
    "comment": "",
    "create_home": true,
    "group": 974,
    "home": "/home/sky",
    "name": "sky",
    "password": "NOT_LOGGING_PASSWORD",
    "shell": "/sbin/nologin",
    "ssh_fingerprint": "2048 SHA256:D2ZhPJV9bdFMtf7EBo3Y5w023xqxDppZxqoe5Z3NVus ansible-generated on node1 (RSA)",
    "ssh_key_file": "/home/sky/.ssh/id_rsa",
    "ssh_public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD1swS5MAox4o2f3rxe9TPz+AFDnB5Jt+X6Yygpphfetfds37SHSP5K4QcAd1SO6OlHopB3x9FQklS3z6C4bfz5trbK/PR9RCzkkzLamC5BKhNXEV2ozj1m2J/F10umZLSvd3ElEJubkyzV383x7sVi5VtQycemoDLiJiWjHTEcKu/I0bSCliODe57nqgM9+5V+nfeih56Vs+vhTGIxqZ/6FZXKGM9iDiI8VokUlMjhOJz5MuFRr4XsgBvtGNyu/bCbjr8QPdDNX/Wl8IZDjLJNHDno8ixc7Bp6ME2hEr9pnpe+DuKJmsAwl+A52E7eAlm/0pp573mZ4ObHRTQwdgQT ansible-generated on node1",
    "state": "present",
    "system": true,
    "uid": 976
}
192.168.98.202 | CHANGED => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/libexec/platform-python"
    },
    "changed": true,
    "comment": "",
    "create_home": true,
    "group": 975,
    "home": "/home/sky",
    "name": "sky",
    "password": "NOT_LOGGING_PASSWORD",
    "shell": "/sbin/nologin",
    "ssh_fingerprint": "2048 SHA256:/VBzZUWcHnLOpMNxq9OXIwD/5IkI9r7smp50s6lByZs ansible-generated on node2 (RSA)",
    "ssh_key_file": "/home/sky/.ssh/id_rsa",
    "ssh_public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDT/+8y3omHiWSOS9dX1AYcADRp7ZUszOBqZV0/77TZ7mV5X1/T+cdZrsnwAiNbXosjDQjKj0qtIJQR3rLuCv08DV6gjlP4bzDodSekfh1mbGu9EkDu0HD+qmW0/y5Mb4lJbBCMHCVJFrwBnH2+AfVezTVgcf4NHh4zJvASnSfmecmyfFEDEVZIozd0z8hw8NcgcYn8MeDrMhVN+y3xj0IXKwg6E0NindBuxkMYbwehcQo6Sscx9YdCv05SXVU+FjyPOQNzZZUQkmp+5GDy1dib1m5GJ5yIf8IzOh1FISoKz8/FqORRIEp55NRgrGw3ZU/weK0RL9SkXhUc29gcN1ON ansible-generated on node2",
    "state": "present",
    "system": true,
    "uid": 977
}



创建用户baishuming  密码为123456
[root@manage01 ~]# echo "123456"|openssl passwd -1 -stdin
$1$BMPgiHeV$GskMFnvqBL17gTe/us5yK.
[root@manage01 ~]# ansible -m user group1 -a 'name=baishuming password="$1$BMPgiHeV$GskMFnvqBL17gTe/us5yK." uid=4423'

不创建家目录
[root@manage01 ~]# ansible -m user 192.168.98.201 -a "name=baism create_home=no"

要求属组为root
附加组为sko
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74

用户删除

[root@manage01 ~]# ansible -m user 192.168.98.201 -a "name=baishuming1 state=absent remove=yes"
192.168.98.201 | CHANGED => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    }, 
    "changed": true, 
    "force": false, 
    "name": "baishuming1", 
    "remove": true, 
    "state": "absent"
}
1
2
3
4
5
6
7
8
9
10
11

# 二、学习视频

视频:user模块 (opens new window)

编辑时间: 7/18/2023, 4:13:51 AM