linux apache执行权限
来源:互联网 发布:程控切纸机编程表 编辑:程序博客网 时间:2024/06/09 19:43
最近在cgi-bin目录下执行python脚本,用命令行执行时没有问题,但是由浏览器访问时总是出现权限问题:
看很多博客都是说文件的权限问题,或者不要在winscp/filezila中直接新建文件夹,改用mkdir建立文件夹就会默认是当前用户的权限。
做了这些修改后仍然无法解决问题,然后直觉告诉我可能是apache服务器执行apache服务时权限不够,然后由开始寻找如何修改apache服务的权限:
1. 查看一下你的Apache的执行用户是谁: lsof -i:80
运行之后的结果为:
从图中我们可以清楚的看到,httpd(也就是Apache)的执行用户为:exec_shell(注:这是我本机上改过之后的用户,只是用来说明一下,你的肯定不是这个!)
lsof 就是 List of file 的缩写,就是列出当前系统打开文件的工具,关于他具体的使用方法可参考:http://club.topsage.com/thread-234763-1-1.html 说的比较不错
确定了你的Linux上Apache的执行者是谁,下面为了安全起见,新建一个用户将Apache的执行用户修改为我们新建的用户。
2. 新建Apache的执行用户
useradd your_exec_user 我们知道创建用户的时候都会默认创建一个用用户名同样的用户组,也就是说现在我们也有一个your_exec_user的用户组
下面我们修改一下Apache的配置文件,使它的执行用户改为我们刚才新建的这个用户your_exec_user :
vi /home/houqingdong/httpd-exe/config/apache2.conf(这个是你的Apache所在的目录位置)
找到下面的地方,修改为你新建的用户:your_exec_user
重新启动Apache: /home/houqingdong/httpd-exe/bin/apachect1 restart -------------> 重启完之后你可以利用:lsof -i:80 查看一下。
3. 执行sudo visudo(或者是 vi /etc/sudoers) , 为your_exec_user赋予root权限,并且不需要密码,找到这个地方,添加your_exec_user,并且设置无需密码,第一次尝试时没有设置无密码,然后无法成功
我之前的时候,做完这里就去执行php脚本去了,结果一直创建不成功,而且很郁闷的是我切换到your_exec_user用户下直接执行是可以执行成功的。
4.设置执行sudo不需要一个终端(这个在有的服务器上并没有,如果在sudoers中没有这个设置可以不用管)
后来,查看了一下Apache的日志文件,发现:
这里明显看出,在执行sudo的时候说必须要有一个tty去运行sudo , 知道问题出在哪里问题就好解决了: vi /etc/sudoers 将下面的这句注释掉:
然后我的python脚本就可以执行了,开心~- linux apache执行权限
- linux CentOS+Apache环境下 phpfopen permission denied,没有执行权限原因分析
- linux CentOS+Apache环境下 phpfopen permission denied,没有执行权限原因分析
- apache限制目录php执行权限
- Linux目录的执行权限
- Linux----shell的执行权限
- Linux脚本执行权限设置
- linux 设置读写执行权限
- apache 设置目录没有执行php的权限
- apache与nginx上传目录无执行权限的解决办法
- Apache下目录脚本的执行权限设置
- Nginx、Apache禁止上传目录的php执行权限
- 如何确定apache的执行用户及它的权限
- Linux下apache权限的问题
- Linux下Apache虚拟主机目录权限问题
- Linux下无root权限安装apache
- php执行root权限linux命令
- PHP通过ROOT权限执行linux命令
- Java学习笔记—IO流
- poj 1942
- Fraction Addition and Subtraction问题及解法
- 触发器实现记录操作表的日志
- 水题笔记:luogu 1119 灾后重建 [Floyd]
- linux apache执行权限
- BackTrack5 学习笔记8 密码暴力破解工具
- C语言 exit 0;与exit 1;return 0;return1
- SparkSQL语句归纳总结
- t-sql读写文件
- 【正一专栏】上港接过恒大的旗帜继续驰骋亚冠
- ajax的异步与同步以及向上层函数返回值的应用
- 为什么微服务实施那么难?如何高效推进微服务架构演进
- Java操作XML的五种方式之JDom