系统管理员离不开账户管理,账户管理,密码管理,开发机器,测试机器,线上机器,都需要创建用户,并给与相关用户的权限。你如果要创建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, } 总结:用户和密码跟系统管理员关系密切,管理用户的切不可马虎。方便快捷,实用的管理才是王道。
时间: 2024-10-11 07:00:07