puppet運(yùn)維自動(dòng)化之用戶管理
【導(dǎo)讀】
系統(tǒng)管理員離不開賬戶管理,賬戶管理,密碼管理,開發(fā)機(jī)器,測(cè)試機(jī)器,線上機(jī)器,都需要?jiǎng)?chuàng)建用戶,并給與相關(guān)用戶的權(quán)限。你如果要?jiǎng)?chuàng)建100個(gè),1000個(gè)賬戶和密碼,你會(huì)不會(huì)瘋掉,如何在1分鐘完成百上千個(gè)賬戶?那就是我們今天的主題,puppet運(yùn)維自動(dòng)化之用戶管理。
【基礎(chǔ)回顧】
puppet如何管理用戶(user)資源呢?
利用符合POSIXAPI標(biāo)準(zhǔn)的puppet自帶的私有工具來進(jìn)行用戶和組管理,puppet不會(huì)直接修改/etc/passwd文件
puppet用戶管理特性
- allows_duplicates:支持同樣的用戶擁有同樣的uid
- manages_homedir:管理用戶的home目錄,刪除和新建
- manages_passwords:管理用戶密碼
- manages_solaris_rbac:管理角色和普通用戶
puppet用戶資源管理參數(shù)
- allowdupe:是否允許相同的uid用戶存在,可以設(shè)置的值為true或者false.
auth_membership:whetherspecifiedauthsshouldbetreatedastheonlyauthsofwhichtheuserisamemberorwhethertheyshouldbemerelybetreatedastheminimummembershiplist.可設(shè)置的值是inclusive,minmum.
- auths:指定用戶的認(rèn)證方式。多個(gè)認(rèn)證方式可用數(shù)組列出來。
- comment:用戶的描述。
- ensure:指定用戶是否存在,可以設(shè)置的值為present,absent,role.
- gid:用戶的組ID。
- groups:指定該用戶屬于那些組的成員.
- home:用戶的主目錄
key_membership:whetherspecifiedkeyvlauesshouldbetreatedastheonlyattributesoftheuser
- keys:用于solaris,指定key
managehome:指定用戶是否管理home主目錄.
provider
指定用provider,用什么命令來執(zhí)行用戶操作,可用的provider有:
- directoryserviceOSX上面的用戶管理命令,不詳述,有需求請(qǐng)參考原文檔
- hpuxuseraddhp-ux系統(tǒng)的用戶管理命令
- ldapldap方式管理用戶
- pwfreebsd上面的用戶管理
- user_role_addsolaris上面的用戶管理
- useraddlinux上面的用戶管理
- password:指定用戶的結(jié)過MD5加密碼后的密碼。最好以‘’引起來,記著,用單引號(hào),因?yàn)榻?jīng)過MD5加密后可能會(huì)出$符號(hào)。
role_membership:whetherspecifiedrolesshouldbetreatedastheonlyrolesofwhichtheuserisamember.
- role:用戶的角色,多個(gè)角色可以用數(shù)組來表示。
- shell:用戶登錄后的shell.
- uid:用戶的uid
【測(cè)試示例】
1.我要?jiǎng)?chuàng)建一個(gè)名為test的用戶.
代碼示例
user{"test": uid=>2000, gid=>2000, home=>"/home/test", shell=>"/bin/bash"; }
注意:puppet在創(chuàng)建用戶的時(shí)候,并不會(huì)創(chuàng)建用戶的home目錄
2.比如test用戶離職了,需要?jiǎng)h除test用戶
代碼示例:
user{"test": ensure=>"absent", }
3.創(chuàng)建test用戶并管理用戶目錄
代碼示例:
user{"test": ensure=>"present", managehome=>true, }
4.創(chuàng)建test用戶,且讓test用戶是屬于sa組。
代碼示例:
user{"test": ensure=>"present", managehome=>true, groups=>sa, }
注意,用戶所屬的SA組要先創(chuàng)建。
關(guān)于如何創(chuàng)建組,在接下來的會(huì)為大家講,這里給舉個(gè)例子
代碼示例:
group{"sa": ensure=>"present", gid=>3000, }
總結(jié):用戶和密碼跟系統(tǒng)管理員關(guān)系密切,管理用戶的切不可馬虎。方便快捷,實(shí)用的管理才是王道。