Puppet--用户自动化管理
三.用户和组用户资源:user
该资源类型用于管理系统用户,所以缺少一些特性来管理普通用户。利用 符合POSIX API标准的puppet自带的私有工具来进行用户和组管理, puppet不会直接修改/etc/passwd文件。
参数
Allowdupe:是否允许存在同样的用户,可以设置false和 true
Auths:指定用户拥有的认证方式,多个认证方式可以用数组列出,依赖manages_solaris_rbac
Comment:对该用户的描述,通常是用户的全名
Ensur:最基本的参数,决定该用户存在与否,可以设置的值是present,absent,角色.
Gid:该用户的主用户组的gid.可以用数字或者组名字
Groups:指定该用户属于那些组的成员,主组不必要在这里列出,多个组用数组列出,例如['gorup1','group2']
Home:用户的home目录,这个目录需要预先存在.
Managehome:管理用户的时候是否管理用户的home目录,可以设置的值是true,false
Name:该资源的namevar, 用户名,建议长度小于8,用字母开头
Passwor:用户的密码,具体用什么加密方式由操作系统决定, 需要manages_passwords 特性. 如果密码里面带有$符合,用单引号引起来.
Provider:指定用provider,用什么命令来执行用户操作,可用的provider有:
Shell:用户的shell,指定的 shell必须有可执行权限.
Uid:用户的uid,必须设置成数字,对于新用户,如果没有指定uid,系统将会自动分配uid,因为不同的操作系统分配算法不一样,因此不推荐不设置uid.
组
参数
Allowdupe:是否允许两个相同的gid, 这个参数不能在freebsd上面使用, 可以设置的值是false , true
Ensure:创建或者删除组,设置absent就删除该组,设置 present就创建该组
Gid:该组的 gid,必须是数字,如果不指定,将自动分配 ,不同的系统自动分配的算法不一样,不推荐使用自动分配gid.
Members:该组的成员
Name:该用户组的名字,这是这个资源的namevar
Provider:指定用什么工具作为provider,通常你不需要手工指定,puppet会自己寻找 .
用户和组测试用例
[*]group{"hmyt":
[*]
[*] gid=>1001,
[*]
[*] ensure=>present,
[*]
[*]
[*]
[*] }
[*]
[*]
[*]
[*] user {"hmyt":
[*]
[*] uid=>1001,
[*]
[*] gid=>1001,
[*]
[*] home=>"/home/hmyt",
[*]
[*] shell=>"/bin/bash",
[*]
[*] password=>"123456",
[*]
[*] }
客户端测试结果
[*]# puppetd --servermaster.puppet --test
[*]
[*]notice: Ignoring --listen on onetime run
[*]
[*]info: Caching catalog for client1.centos
[*]
[*]info: Applying configuration version '1329967264'
[*]
[*]notice: Finished catalog run in 0.02 seconds
检查客户端的用户和组
[*]# more /etc/group|grep hmyt
[*]
[*]hmyt:x:1001:
[*]
[*]# more /etc/passwd|grep hmyt
[*]
[*]hmyt:x:1001:1001::/home/hmyt:/bin/bash
页:
[1]