chef用户资源不会更新现有用户的主目录(如果已存在)

时间:2015-03-04 06:00:02

标签: linux chef chef-recipe

我试图确保我的厨师食谱创建一个新的unix用户,或者使用以下资源改变现有用户(如果它已经存在)

 user 'postgres' do
   supports :manage_home => true
   home '/home/postgres'
   shell '/bin/bash'    
   password #{password}
   action :create
 end  

但在以下情况中: 用户postgres已经创建,但/ home / postgres的所有者是root 配方提供输出user[postgres] action create (up to date) 即使指定了:manage_home => true。 是否有更好的方法来创建/更新用户及其主目录?

1 个答案:

答案 0 :(得分:3)

不幸的是,:manage_home => true唯一能做的就是创建主目录(如果它不存在)。如果它存在,它什么都不做,即使有错误的权限。

我有一个目录资源在每个用户资源之后,这确保了主文件夹是正确的:

directory '/home/postgres' do
  owner 'postgres'
  group 'postgres'
  mode 0755
end