最近在cgi-bin目录下执行python脚本,用命令行执行时没有问题,但是由浏览器访问时总是出现权限问题:
/usr/bin/ld: cannot open output file main: Permission denied
collect2: ld returned 1 exit status
看很多博客都是说文件的权限问题,或者不要在winscp/filezila中直接新建文件夹,改用mkdir建立文件夹就会默认是当前用户的权限。
做了这些修改后仍然无法解决问题,然后直觉告诉我可能是apache服务器执行apache服务时权限不够,然后由开始寻找如何修改apache服务的权限:
1. 查看一下你的Apache的执行用户是谁: lsof -i:80
运行之后的结果为:
从图中我们可以清楚的看到,httpd(也就是Apache)的执行用户为:exec_shell(注:这是我本机上改过之后的用户,只是用来说明一下,你的肯定不是这个!)
lsof 就是 List of file 的缩写,就是列出当前系统打开文件的工具,关于他具体的使用方法可参考: