我试图确保我的厨师食谱创建一个新的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
。
是否有更好的方法来创建/更新用户及其主目录?
答案 0 :(得分:3)
不幸的是,:manage_home => true
唯一能做的就是创建主目录(如果它不存在)。如果它存在,它什么都不做,即使有错误的权限。
我有一个目录资源在每个用户资源之后,这确保了主文件夹是正确的:
directory '/home/postgres' do
owner 'postgres'
group 'postgres'
mode 0755
end