zoukankan      html  css  js  c++  java
  • System modules(cron、mount、user、group、service) Packaging modules(yum、)

     cron – Manage cron.d and crontab entries

     

     

     

    user – Manage user accounts

    user模块是请求的是useradd, userdel, usermod三个指令(查看用户和组信息 参考下面附录A)

    home:指定用户的家目录,需要与createhome配合使用
    groups:指定用户的属组
    uid:指定用的uid
    password:指定用户的密码
    name:指定用户名
    createhome:是否创建家目录 yes|no
    system:是否为系统用户
    remove:当state=absent时,remove=yes则表示连同家目录一起删除,等价于userdel -r
    state:是创建还是删除
    shell:指定用户的shell环境

    user模块:实现批量创建用户

     创建用户示例

    [root@ansible-server ansible]# ansible 10.192.27.115 -m user -a "name=user01"
    10.192.27.115 | CHANGED => {
        "ansible_facts": {
            "discovered_interpreter_python": "/usr/bin/python"
        }, 
        "changed": true, 
        "comment": "", 
        "create_home": true, 
        "group": 1001, 
        "home": "/home/user01", 
        "name": "user01", 
        "shell": "/bin/bash", 
        "state": "present", 
        "system": false, 
        "uid": 1001
    }
    [root@ansible-server ansible]# ansible 10.192.27.115 -m user -a "name=user02 uid=6666"
    10.192.27.115 | CHANGED => {
        "ansible_facts": {
            "discovered_interpreter_python": "/usr/bin/python"
        }, 
        "changed": true, 
        "comment": "", 
        "create_home": true, 
        "group": 6666, 
        "home": "/home/user02", 
        "name": "user02", 
        "shell": "/bin/bash", 
        "state": "present", 
        "system": false, 
        "uid": 6666
    }
    1.指定用户uid信息
    [root@ansible-server ansible]# ansible 10.192.27.115 -m user -a "name=user03 group=user02"
    10.192.27.115 | CHANGED => {
        "ansible_facts": {
            "discovered_interpreter_python": "/usr/bin/python"
        }, 
        "changed": true, 
        "comment": "", 
        "create_home": true, 
        "group": 6666, 
        "home": "/home/user03", 
        "name": "user03", 
        "shell": "/bin/bash", 
        "state": "present", 
        "system": false, 
        "uid": 6667
    }
    [root@ansible-server ansible]# ansible 10.192.27.115 -m user -a "name=user04 group=user02"
    10.192.27.115 | CHANGED => {
        "ansible_facts": {
            "discovered_interpreter_python": "/usr/bin/python"
        }, 
        "changed": true, 
        "comment": "", 
        "create_home": true, 
        "group": 6666, 
        "home": "/home/user04", 
        "name": "user04", 
        "shell": "/bin/bash", 
        "state": "present", 
        "system": false, 
        "uid": 6668
    }
    2.指定用户组信息
    [root@ansible-server ansible]# ansible 10.192.27.115 -m user -a "name=rsync create_home=no shell=/sbin/nologin"
    10.192.27.115 | CHANGED => {
        "ansible_facts": {
            "discovered_interpreter_python": "/usr/bin/python"
        }, 
        "changed": true, 
        "comment": "", 
        "create_home": false, 
        "group": 6669, 
        "home": "/home/rsync", 
        "name": "rsync", 
        "shell": "/sbin/nologin", 
        "state": "present", 
        "system": false, 
        "uid": 6669
    }
    [root@ansible-server ansible]# 
    3.批量创建虚拟用户

    ps:利用ansible程序设置密码信息,需要将密码明文信息转换为密文信息进行设置

    生成密文密码方法一:(注:-i 目标主机列表  -m 指定模块名称)

    [root@ansible-server ansible]# ansible all -i localhost, -m debug -a "msg={{'123123'| password_hash('sha512','mysecretsalt')}}"  #任意字符串加盐‘mysecretsalt’
    localhost | SUCCESS => {
        "msg": "$6$mysecretsalt$i1SC5GcBrPyglwJHNJ0JdF8d5E68l6AN6nEL8gDwsyHZJsK.kSfSnasPq0Ubpd/aAkT1NZz1B137UXrR2dKmv."
    }
    [root@ansible-server ansible]# 

     

    [root@ansible-server ansible]# python -c "from passlib.hash import sha512_crypt; import getpass; print(sha512_crypt.using(rounds=5000).hash(getpass.getpass()))"
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
    ImportError: No module named passlib.hash   #由于本地没有安装这个模块(无网络就没有安装)
    [root@ansible-server ansible]# 

    4.给指定用户创建密码

    [root@ansible-server ansible]#  ansible all -i localhost, -m debug -a "msg={{ '123123' | password_hash('sha512','haha')}}"
    localhost | SUCCESS => {
        "msg": "$6$haha$3APjmPSwU.G/F8lE2n68TelpABeSX2S9KgMrMpqOsSbdqdC1tOvDaSB6FREobIxIPVKGvzF/imgHPusOJkWI.1"
    }
    [root@ansible-server ansible]# ansible 10.192.27.115 -m user -a 'name=user05 password=$6$haha$3APjmPSwU.G/F8lE2n68TelpABeSX2S9KgMrMpqOsSbdqdC1tOvDaSB6FREobIxIPVKGvzF/imgHPusOJkWI.1'
    10.192.27.115 | CHANGED => {
        "ansible_facts": {
            "discovered_interpreter_python": "/usr/bin/python"
        }, 
        "changed": true, 
        "comment": "", 
        "create_home": true, 
        "group": 6670, 
        "home": "/home/user05", 
        "name": "user05", 
        "password": "NOT_LOGGING_PASSWORD", 
        "shell": "/bin/bash", 
        "state": "present", 
        "system": false, 
        "uid": 6670
    }

    group模块

     ,goup模块请求的是groupadd, groupdel, groupmod 三个指令。

    yum模块Packaging modules

    附录A: linux如何查看所有的用户和组信息? 
    1. 【步骤一】cat /etc/passwd查看所有的用户信息,详情如下图

      linux如何查看所有的用户和组信息?
    2.  【步骤二】cat /etc/passwd|grep 用户名

      cat /etc/passwd|grep 用户名,用于查找某个用户,如下图

      linux如何查看所有的用户和组信息?
    3.  【步骤三】cat /etc/group

      cat /etc/group查看所有组信息,如下图

      linux如何查看所有的用户和组信息?
    4. 【步骤四】cat /etc/group|grep 组名

      cat /etc/group|grep 组名,用于查找某个用户组,如下图

      linux如何查看所有的用户和组信息?
    5. 【步骤五】用户和组常用命令

      groups 查看当前登录用户的组内成员

      groups test 查看test用户所在的组,以及组内成员

      whoami 查看当前登录用户名

      linux如何查看所有的用户和组信息?
       
     
  • 相关阅读:
    centos6.4下django1.11.3项目的部署
    inner join和left join 、right join 的区别?
    php中的对象赋值
    windows下Call to undefined function curl_init() error问题
    include和require的区别误区
    第一车网笔试题
    借贷宝笔试题
    40斤西瓜3人分,求分法
    走楼梯算法
    ip地址分类
  • 原文地址:https://www.cnblogs.com/linux985/p/11308429.html
Copyright © 2011-2022 走看看