用户和组
用户资源: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   --server  master.puppet --test
在查看/etc/passwd文件
[root@puppet puppet]# cat /etc/passwd |grep hmyt
hmyt:x:1001:1001::/home/hmyt:/bin/bash
You have new mail in /var/spool/mail/root