Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/351.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
当从php调用脚本时,来自python的文件chgrp、chown不起作用_Php_Python_File Permissions_Chown_Chgrp - Fatal编程技术网

当从php调用脚本时,来自python的文件chgrp、chown不起作用

当从php调用脚本时,来自python的文件chgrp、chown不起作用,php,python,file-permissions,chown,chgrp,Php,Python,File Permissions,Chown,Chgrp,我的php表单应用程序在提交时将获取表单数据并调用python脚本。此python脚本包含创建文件、更改其权限、更改组和所有者的代码。最后,它需要将文件移动到本地文件系统上的另一个位置 问题:权限更改很好(即chmod工作),但组和所有者没有更改(chgrp和chown不工作) 下面是python代码 target = open(filename, "a") someTextToWrite = "foobar" target.write(someTextToWrite) target.close

我的php表单应用程序在提交时将获取表单数据并调用python脚本。此python脚本包含创建文件、更改其权限、更改组和所有者的代码。最后,它需要将文件移动到本地文件系统上的另一个位置

问题:权限更改很好(即chmod工作),但组和所有者没有更改(chgrp和chown不工作)

下面是python代码

target = open(filename, "a")
someTextToWrite = "foobar"
target.write(someTextToWrite)
target.close()
src = os.path.dirname(os.path.realpath(__file__))
fullpath = src +"/" + filename
subprocess.call(["chmod","777",fullpath])
subprocess.call(["chown","root",fullpath])
subprocess.call(["chgrp","root",fullpath])
shutil.move(fullpath, dest)
另外,如果我直接在终端上运行同一段代码而不进行修改,那么所有三个:chmod、chown和chgrp都可以正常工作。我看到其他人有一个解决方案,但没有提供解决方案


非常感谢您的帮助。

您是否尝试过以sudo的身份运行脚本?@woofmeow我不知道如何以sudo的编程方式运行脚本。我确实尝试了subprocess.call([“sudo”、“chown”、“root”、fullpath]),但没有成功。你能告诉我怎么做吗?