zoukankan      html  css  js  c++  java
  • puppet运维自动化之用户管理

    系统管理员离不开账户管理,账户管理,密码管理,开发机器,测试机器,线上机器,都需要创建用户,并给与相关用户的权限。你如果要创建100个,1000个账户和密码,你会不会疯掉,如何在1分钟完成百上千个账户?那就是我们今天的主题,puppet运维自动化之用户管理。

    【导读】
    
    系统管理员离不开账户管理,账户管理,密码管理,开发机器,测试机器,线上机器,都需要创建用户,并给与相关用户的权限。你如果要创建100个,1000个账户和密码,你会不会疯掉,如何在1分钟完成百上千个账户?那就是我们今天的主题,puppet运维自动化之用户管理。
    
    【基础回顾】
    
    puppet如何管理用户(user)资源呢?
    
    利用符合POSIXAPI标准的puppet自带的私有工具来进行用户和组管理,puppet不会直接修改/etc/passwd文件
    
    puppet用户管理特性
    
    allows_duplicates:支持同样的用户拥有同样的uid
    manages_homedir:管理用户的home目录,删除和新建
    manages_passwords:管理用户密码
    manages_solaris_rbac:管理角色和普通用户
    puppet用户资源管理参数
    
    allowdupe:是否允许相同的uid用户存在,可以设置的值为true或者false.
    auth_membership:whetherspecifiedauthsshouldbetreatedastheonlyauthsofwhichtheuserisamemberorwhethertheyshouldbemerelybetreatedastheminimummembershiplist.可设置的值是inclusive,minmum.
    auths:指定用户的认证方式。多个认证方式可用数组列出来。
    comment:用户的描述。
    ensure:指定用户是否存在,可以设置的值为present,absent,role.
    gid:用户的组ID。
    groups:指定该用户属于那些组的成员.
    home:用户的主目录
    key_membership:whetherspecifiedkeyvlauesshouldbetreatedastheonlyattributesoftheuser
    keys:用于solaris,指定key
    managehome:指定用户是否管理home主目录.
    
    provider
    
    指定用provider,用什么命令来执行用户操作,可用的provider有:
    
    directoryserviceOSX上面的用户管理命令,不详述,有需求请参考原文档
    hpuxuseraddhp-ux系统的用户管理命令
    ldapldap方式管理用户
    pwfreebsd上面的用户管理
    user_role_addsolaris上面的用户管理
    useraddlinux上面的用户管理
    password:指定用户的结过MD5加密码后的密码。最好以‘’引起来,记着,用单引号,因为经过MD5加密后可能会出$符号。
    role_membership:whetherspecifiedrolesshouldbetreatedastheonlyrolesofwhichtheuserisamember.
    role:用户的角色,多个角色可以用数组来表示。
    shell:用户登录后的shell.
    uid:用户的uid
    【测试示例】
    
    1.我要创建一个名为test的用户.
    
    代码示例
    
    user{"test":
    uid=>2000,
    gid=>2000,
    home=>"/home/test",
    shell=>"/bin/bash";
    }
    注意:puppet在创建用户的时候,并不会创建用户的home目录
    
    2.比如test用户离职了,需要删除test用户
    
    代码示例:
    
    user{"test":
    ensure=>"absent",
    }
    3.创建test用户并管理用户目录
    
    代码示例:
    
    user{"test":
    ensure=>"present",
    managehome=>true,
    }
    4.创建test用户,且让test用户是属于sa组。
    
    代码示例:
    
    user{"test":
    ensure=>"present",
    managehome=>true,
    groups=>sa,
    }
    注意,用户所属的SA组要先创建。
    
    关于如何创建组,在接下来的会为大家讲,这里给举个例子
    
    代码示例:
    
    group{"sa":
    ensure=>"present",
    gid=>3000,
    }
    总结:用户和密码跟系统管理员关系密切,管理用户的切不可马虎。方便快捷,实用的管理才是王道。
  • 相关阅读:
    Angle Beats Gym
    MUV LUV UNLIMITED Gym
    Balanced Diet Gym
    数位dp HDU
    数位dp CodeForces
    数位dp HDU
    有依赖的背包 洛谷P1064 金明的预算方案 (不是分组背包)
    多重背包+二进制拆分 POJ1014
    单调队列优化dp 入门 洛谷P2627 修剪草坪
    01背包 + 排序 (记忆化搜索) 骄傲的商人(HDU
  • 原文地址:https://www.cnblogs.com/L-H-R-X-hehe/p/3963413.html
Copyright © 2011-2022 走看看