我在 Ubuntu 上有两个用户www-data和labour,他们都在chiara组中。两个用户都可以
>chown :chiara some_file
>chgrp chiara some_file
我有一个test.py
使用的 python 脚本
import os
os.system('whoami') # displays 'www-data' in both cases
res = os.system('chown :chiara some_file')
print res # 0 when called from shell, 256 when called from php script
当我以任一用户的身份调用此脚本时,它可以正常工作。
但是,当我从 apache 中的 php 脚本调用此脚本时
shell_exec('test.py')
它不起作用-尽管显示的用户是“www-data”。如果我将“chmod”更改为“chgrp”,此问题仍然存在。此外,使用os.chown
不起作用。对我来说似乎是一个一般的权限问题......
编辑:在 python 中使用 subprocess.Popen,我可以检索错误消息
changing group of '/absolute/path/to/some_file': Operation not permitted
编辑2:我想在这个问题上投降......在我的具体应用程序中,目录上的“chmod 777”就足够了(有效!)。但是,我只想了解出了什么问题。