http://docs.puppetlabs.com/guides/types/user.html 原文地址
注意 solaris方面的特性用的少,没有翻译
user
该资源类型用于管理系统用户,所以缺少一些特性来管理普通用户.利用 符合POSIX API标准的puppet自带的私有工具来进行用户和组管理, puppet不会直接修改/etc/passwd文件.
该工具有下面这些特性:
- allows_duplicates: 支持同样的用户拥有同样的uid
- manages_homedir: 管理用户的home目录,删除和新建
- manages_passwords: 管理用户密码
- manages_solaris_rbac: 管理角色和普通用户
参数
allowdupe
是否允许存在同样的用户,可以设置false和 true
auths
指定用户拥有的认证方式,多个认证方式可以用数组列出,依赖manages_solaris_rbac
comment
对该用户的描述,通常是用户的全名
ensure
最基本的参数,决定该用户存在与否,可以设置的值是present,absent,角色.
gid
该用户的主用户组的gid.可以用数字或者组名字
groups
指定该用户属于那些组的成员,主组不必要在这里列出,多个组用数组列出,例如['gorup1','group2']
home
用户的home目录,这个目录需要预先存在.
managehome
管理用户的时候是否管理用户的home目录,可以设置的值是true,false
name
该资源的namevar, 用户名,建议长度小于8,用字母开头
password
用户的密码,具体用什么加密方式由操作系统决定, 需要manages_passwords 特性. 如果密码里面带有$符合,用单引号引起来.
provider
指定用provider,用什么命令来执行用户操作,可用的provider有:
- directoryservice OS X 上面的用户管理命令,不详述,有需求请参考原文档
- hpuxuseradd hp-ux 系统的用户管理命令
- ldap ldap方式管理用户
- pw freebsd上面的用户管理
- user_role_add solaris 上面的用户管理
- useradd linux上面的用户管理
shell
用户的shell,指定的 shell必须有可执行权限.
uid
用户的uid,必须设置成数字,对于新用户,如果没有指定uid,系统将会自动分配uid,因为不同的操作系统分配算法不一样,因此不推荐不设置uid.
例子
user { "hmy":
uid => 99,
gid => 99,
home => /home/hmy,
shell => /bin/bash;
}





