在ruby中使用File.chown()作为root用户拥有

时间:2013-11-15 16:38:22

标签: ruby file

我希望只是打开并编写一个新文件,然后让它由另一个用户拥有(以root身份运行)。文件创建工作正常,但文件最终仍归root所有。我正在使用:

doc="text"
uid=Etc.getpwnam("#{$user}").uid

File.open("#{$file}", 'w') {|f| 
            f.write(doc)
            f.chown($uid,$uid)
    }

非常感谢任何帮助:)

1 个答案:

答案 0 :(得分:1)

  

只有具有超级用户权限的进程才能更改文件的所有者。 [RubyDocs]

尝试使用sudo运行ruby。

修改

第二个参数应该是组ID。不是用户ID。

编辑2

原来是全局的。我的心从未如此幸福。请参阅评论。