首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >sudo as www-data文件权限

sudo as www-data文件权限
EN

Stack Overflow用户
提问于 2014-12-14 13:26:01
回答 2查看 334关注 0票数 1

我在使用apache webserver调用bash脚本作为www-data时遇到了一个问题。

当我从服务器调用它时,我得到了一个IO错误,它没有给我整个程序的输出,但是只有我在脚本中创建的文件的']没有这样的文件或目录‘,大约在脚本中途。

所以我想查看更多细节,我认为这是一种以完全相同的方式运行程序的方法,但只是通过终端,这样我就可以看到更多的输出:

sudo -u www-data ./bashscript

然而,在这样做之后,我没有得到任何错误,并且我的bash脚本完全完成了。

那么,作为www-data调用sudo,调用脚本与通过web服务器实际调用脚本作为www-data有什么不同呢?更重要的是,我可以获得实际的服务器调用,以获得与sudo调用相同的输出?

我现在在我的网页上使用python cgi,所以我只是使用子进程来进行系统调用,以下是我的代码,尽管我不认为这是问题所在:

代码语言:javascript
复制
w = subprocess.Popen("./nameofscript",  stdout=subprocess.PIPE, stderr=subprocess.STDOUT, shell=True)
for line in w.stdout.readlines():
    print line
kill = w.wait()

非常感谢!

EN

回答 2

Stack Overflow用户

发布于 2014-12-14 15:14:12

请确保apache有权使用此脚本访问文件夹。

尝试使用脚本的完整路径。

如果您使用python脚本,请确保该脚本是可执行的,并且带有#!"shebang“在第一行。

票数 0
EN

Stack Overflow用户

发布于 2016-08-14 07:22:33

关于您的Q1:

将sudo调用作为www-data,调用脚本与通过web服务器实际调用脚本作为www-data有什么不同?

我要说的是,在操作系统提示符下以sudo身份运行时,当发生故障或未命中时,您可以接收到更多信息,而有时从浏览器或程序语言shell调用运行,即使命令从未运行,您也可能无法收到任何反馈。

和Q2:

我可以获得实际的服务器调用,以获得与sudo调用相同的输出吗?

不知道如何在python中做到这一点,但在php中你有这两条指令:execshell_exec,使用第二条指令,你可能会得到一个返回值的输出。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27466634

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档