我希望只是打开并编写一个新文件,然后让它由另一个用户拥有(以root身份运行)。文件创建工作正常,但文件最终仍归root所有。我正在使用:
doc="text"
uid=Etc.getpwnam("#{$user}").uid
File.open("#{$file}", 'w') {|f|
f.write(doc)
f.chown($uid,$uid)
}
非常感谢任何帮助:)
答案 0 :(得分:1)
只有具有超级用户权限的进程才能更改文件的所有者。 [RubyDocs]
尝试使用sudo
运行ruby。
修改强>
第二个参数应该是组ID。不是用户ID。
编辑2
原来是全局的。我的心从未如此幸福。请参阅评论。