为其他用户创建文件

时间:2015-02-11 16:51:59

标签: python file-io chown

我想创建一个文件(最好与open(…)一起使用)并让所有者与运行代码的人不同。

我尝试创建该文件并使用os.chown更改所有者,但这似乎不起作用。这是我试过的:

import os
import pwd
user=pwd.getpwnam('user')
with open('somefile', 'w') as f:
    f.write('blah, blah')

os.chown('somefile', user.pw_uid, user.pw_gid)

我收到以下错误:

OSError: [Errno 1] Operation not permitted: 'somefile'

我原以为这是更改文件所有者的正确方法。

1 个答案:

答案 0 :(得分:1)

问题是您没有以root身份创建新文件,这是必需的。在SO中查看对this问题的评论。应该解决问题。

更新: 您需要超级用户权限才能执行此操作。所以在运行程序时,请使用

sudo python yourprogramname.py 

这将允许您的python脚本超级用户权限。