晓夏

新手菜鸟Linux学习之路

不怕从零开始,只怕从未启程

Ansible总结(五):常用模块user模块

浏览量:719

通常我们也会为多个主机创建同一个用户,例如为多个主机创建nginx用户,这时我们可以使用user模块


语法:
ansible <host-pattern> -m user [-a args]


-a中的选项: 

comment              用户的备注信息          

createhome           当设置为No时,将不创建此用户的家目录               

force                表示强制完成      

group                指定用户属于哪个组,这个组必须是存在的   
                
home                 指定要创建的用户家目录
             
name=                必选项,要创建的用户名                             

password             创建用户的同时指定密码,这里需要注意不能使用明文密码。  

remove               配合 state=absent使用,默认值为No 差不多和userdel --remove(删除所有信息)                 

shell                指定shell级别是/bin/bash 还是/sbin/nologin等          

state              Present为新增,absent为删除,默认为present

system             创建为系统账号,不会改变已经存在的用户    

uid                指定用户家目录


范例:
一、创建一个用户,指定家目录,uid,并设置为不可登录
# ansible 192.168.1.7 -m user -a "name='nginx' uid='502' shell='/sbin/nologin' home='/home/nginx'"
192.168.1.7 | SUCCESS => {
    "changed": true, 
    "comment": "", 
    "createhome": true, 
    "group": 502, 
    "home": "/home/nginx", 
    "name": "nginx", 
    "shell": "/sbin/nologin", 
    "state": "present", 
    "system": false, 
    "uid": 502
}

二、删除创建的用户,并删除全部信息,当删除用户时配合remove='yes',则表示删除家目录等全部内容
# ansible 192.168.1.7 -m user -a "name='nginx' state='absent' remove='yes'"
192.168.1.7 | SUCCESS => {
    "changed": true, 
    "force": false, 
    "name": "nginx", 
    "remove": true, 
    "state": "absent"
}


分享:

支付宝

微信