使用linux中的sudoers将文件的所有者从用户更改为root

时间:2014-05-08 05:39:58

标签: python linux django sudoers

我想使用/ etc / sudoers将文件的所有者从bangtest(用户)更改为root。

更改原因:当我使用Django应用程序将图像从bangtest(用户)上传到我的服务器时,图像文件权限就像

ls -l /home/bangtest/alpha/media/products/image_2093.jpg 
-rw-r--r-- 1 bangtest bangtest 28984 May  6 02:47

但是当我尝试使用//myhost/media/products/image_2093.jpg从服务器访问这些文件时,我收到404错误。当我尝试记录错误时

 Caught race condition abuser. attacker: 0, victim: 502 open file owner: 502, open file: /home/bangtest/alpha/media/products/image_2093.jpg

当我将文件的所有者从bangtest更改为root后,我能够完美地访问该图像。 因此,我想使用python脚本动态更改文件的所有者。

我试过改变sudoers文件,如下所述。但我仍然得到像

这样的错误
chown: changing ownership of `image.jpg': Operation not permitted

我的sudoers代码:

root    ALL=(ALL)       ALL
bangtest  ALL=(ALL) /bin/chown root:bangtest /home/bangtest/alpha/*

为什么sudoers不工作的任何线索?

注意:操作系统Linux。

由于

2 个答案:

答案 0 :(得分:0)

在我看来,您的问题是您尝试使用// myhost(它的路径)尝试将文件作为本地计算机上的文件进行访问。 //不会使用服务器,如果这是你想要的,或者至少它不会使用我正在使用的ruby上的ruby。如果它在本地计算机上的位置使用了//myhost/media/products/image_2093.jpg,并且如果它是您尝试通过服务器访问的内容,请尝试/ myhost / media / products /image_2093.jpg。我不知道有什么好的帖子可以推荐你,但我只是为自己测试了一下。 希望它有所帮助

我能够找到一些听起来像证据的有趣信息。 http://www.mail-archive.com/dev@httpd.apache.org/msg55666.html

答案 1 :(得分:0)

使用ACL

setfacl -dm u::rwx,g::rwx,o::rwx /home/bangtest/alpha/media/products/

此文件夹中创建的所有文件都为所有用户设置了rwx权限。

编辑://更改chmod的权限是危险的,但可以,编辑/ etc / sudoers

bangtest  ALL=(ALL) NOPASSWD: /usr/bin/chmod