系統管理員離不開賬戶管理,賬戶管理,密碼管理,開發機器,測試機器,線上機器,都需要創建用戶,并給與相關用戶的權限。你如果要創建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, } 總結:用戶和密碼跟系統管理員關系密切,管理用戶的切不可馬虎。方便快捷,實用的管理才是王道。
?