读取www-data所拥有的文件

我有一个网站,在必要时写入文件。 这些文件由www-data拥有。 我也有我的用户,它执行一个应用程序来收集这些文件的信息。 它是用Python编写的。 但是,由于这些文件是由www-data拥有的,所以我的应用程序无法读取它们,我必须以root身份执行该应用程序,我不希望这样做。 我能做些什么来让我的用户读取www-data创build的文件?

编辑 ,相对于评论:

-rw-r--r-- 1 ivan www-data 444 2011-07-20 16:34 serverfile1.php -rw-r--r-- 1 ivan www-data 140 2011-07-20 16:34 serverfile2.php -rw-r--r-- 1 ivan www-data 478 2011-07-20 16:35 serverfile3.php -rw-r--r-- 1 www-data www-data 10 2011-07-20 17:41 info1.txt -rw-r--r-- 1 www-data www-data 21 2011-07-20 17:41 info2.txt -rw-r--r-- 1 ivan www-data 236 2011-07-20 16:35 serverfile4.php 

我仍然无法使用用户ivan阅读文件info1和info2

将您的用户添加到www-data组,然后创build文件组readabe。

 # usermod -a -G www-data username # chmod -R g+r /var/www/files 

假设文件perm列表是准确的,用户ivan应该有权访问这些文件。

您可能需要validation您使用Python打开文件的模式。 如果您尝试使用写入权限打开它,您将收到错误。

如果像ivan一样,你可以捕捉或者浏览info1 / info2文件,它更可能是python / code问题。

你的文件已经是组可读的,如果你只是打开文件进行阅读比你不应该有任何问题。 其中一些已经提出,但这里有一些事情要检查。

  1. Python代码是打开的,而不是写入
  2. 确保文件所在目录的可读性和可执行性(至less可以执行)。
  3. 通过用户伊凡testing使用猫,如果它工作与python代码的问题。

另一种方法是在特定的用户下运行php作为fastcgi(php fastcgi + suexec)。

再见,斯蒂法诺