User

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;
}
除非特别注明,本页内容采用以下授权方式: Creative Commons Attribution-ShareAlike 3.0 License