首页 > 代码库 > puppet运维自动化之用户管理

puppet运维自动化之用户管理

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

【导读】系统管理员离不开账户管理,账户管理,密码管理,开发机器,测试机器,线上机器,都需要创建用户,并给与相关用户的权限。你如果要创建100个,1000个账户和密码,你会不会疯掉,如何在1分钟完成百上千个账户?那就是我们今天的主题,puppet运维自动化之用户管理。【基础回顾】puppet如何管理用户(user)资源呢?利用符合POSIXAPI标准的puppet自带的私有工具来进行用户和组管理,puppet不会直接修改/etc/passwd文件puppet用户管理特性allows_duplicates:支持同样的用户拥有同样的uidmanages_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:whetherspecifiedkeyvlauesshouldbetreatedastheonlyattributesoftheuserkeys:用于solaris,指定keymanagehome:指定用户是否管理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,}总结:用户和密码跟系统管理员关系密切,管理用户的切不可马虎。方便快捷,实用的管理才是王道。

 

puppet运维自动化之用户管理