Ansible学习笔记7

user模块:

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

如果是windows要换一个win_user模块。

创建用户:present:

bash 复制代码
[root@localhost ~]# ansible group1 -m user -a "name=aaa state=present"
192.168.17.106 | CHANGED => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    },
    "changed": true,
    "comment": "",
    "create_home": true,
    "group": 1000,
    "home": "/home/aaa",
    "name": "aaa",
    "shell": "/bin/bash",
    "state": "present",
    "system": false,
    "uid": 1000
}
192.168.17.105 | CHANGED => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    },
    "changed": true,
    "comment": "",
    "create_home": true,
    "group": 1000,
    "home": "/home/aaa",
    "name": "aaa",
    "shell": "/bin/bash",
    "state": "present",
    "system": false,
    "uid": 1000
}
bash 复制代码
[root@agent1 tmp]# id aaa
uid=1000(aaa) gid=1000(aaa) groups=1000(aaa)


[root@agent2 ~]# id aaa
uid=1000(aaa) gid=1000(aaa) groups=1000(aaa)

更改用户uid::这些内容都是Linux基础。

bash 复制代码
[root@localhost ~]# ansible group1 -m user -a "name=aaa uid=2000"
192.168.17.106 | SUCCESS => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    },
    "append": false,
    "changed": false,
    "comment": "",
    "group": 1000,
    "home": "/home/aaa",
    "move_home": false,
    "name": "aaa",
    "shell": "/bin/bash",
    "state": "present",
    "uid": 2000
}
192.168.17.105 | SUCCESS => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    },
    "append": false,
    "changed": false,
    "comment": "",
    "group": 1000,
    "home": "/home/aaa",
    "move_home": false,
    "name": "aaa",
    "shell": "/bin/bash",
    "state": "present",
    "uid": 2000
}

更改用户的属性:那这块还需要自己再进一步的分析:

bash 复制代码
[root@localhost ~]# ansible group1 -m user -a "name=aaa home=/data/haha shell=/bin/false comment=@_@"
192.168.17.106 | CHANGED => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    },
    "append": false,
    "changed": true,
    "comment": "@_@",
    "group": 1000,
    "home": "/data/haha",
    "move_home": false,
    "name": "aaa",
    "shell": "/bin/false",
    "state": "present",
    "uid": 2000
}
192.168.17.105 | CHANGED => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    },
    "append": false,
    "changed": true,
    "comment": "@_@",
    "group": 1000,
    "home": "/data/haha",
    "move_home": false,
    "name": "aaa",
    "shell": "/bin/false",
    "state": "present",
    "uid": 2000
}

然后到agent机器上检查:

bash 复制代码
[root@agent1 tmp]# cat /etc/passwd |grep aaa
aaa:x:2000:1000:@_@:/data/haha:/bin/false

删除用户:

bash 复制代码
[root@localhost ~]# ansible group1 -m user -a "name=aaa state=absent"                              192.168.17.106 | CHANGED => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    },
    "changed": true,
    "force": false,
    "name": "aaa",
    "remove": false,
    "state": "absent"
}
192.168.17.105 | CHANGED => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    },
    "changed": true,
    "force": false,
    "name": "aaa",
    "remove": false,
    "state": "absent"
}

然后再到agent的机器上检查,可见用户已删除:

bash 复制代码
[root@agent1 tmp]# id aaa
id: aaa: no such user
[root@agent1 tmp]# grep aaa /etc/passwd
[root@agent1 tmp]#

删除用户的时候需要注意删除家目录的问题:

删除家目录的场景:

bash 复制代码
[root@localhost ~]# ansible group1 -m user -a "name=bbb state=absent remove=yes"
192.168.17.105 | CHANGED => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    },
    "changed": true,
    "force": false,
    "name": "bbb",
    "remove": true,
    "state": "absent"
}
192.168.17.106 | CHANGED => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    },
    "changed": true,
    "force": false,
    "name": "bbb",
    "remove": true,
    "state": "absent"
}
bash 复制代码
[root@agent1 tmp]# cd /home/bbb
-bash: cd: /home/bbb: No such file or directory

这两个,如果工作中需要可以试下。

相关推荐
K_i1345 天前
Ansible实战:VMware下K8s自动化部署指南
kubernetes·自动化·ansible
许泽宇的技术分享5 天前
Ansible核心架构深度剖析:从源码看IT自动化的“简单“哲学
python·ansible·自动化运维·devops·it基础设施
荣光波比5 天前
Ansible(三)—— 使用Ansible自动化部署LNMP环境实战指南
运维·自动化·云计算·ansible
tt666qq6 天前
运维自动化之 Ansible 核心知识点总结
运维·自动化·ansible
C-200211 天前
初探 ansible 部署 devops 持续集成持续交付
ci/cd·ansible·devops
东窗西篱梦11 天前
Ansible自动化运维:从入门到实战,告别重复劳动!
运维·自动化·ansible
weixin_5078479513 天前
Ansible
ansible
小白不想白a13 天前
【ansible/K8s】K8s的自动化部署源码分享
kubernetes·自动化·ansible
三坛海会大神55514 天前
Ansible详解(一)Ansible简介和基础命令及操作
运维·ansible
東雪蓮☆14 天前
Ansible Playbook 编写与模块详解
linux·运维·网络·ansible