Linux   发布时间:2022-04-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了linux – 如何以特定用户身份运行HTTPD,而不是由任何人运行?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

目前,top告诉我几乎所有的httpd进程都是由nobody运行的. “差不多”,因为其中有两个是由root运行的. 我怎么能以这样的方式做到这一点,因为我有用户说:dartagnan,porthos,aramis,athos运行httpd每个单独作为所述用户? 当我跑到最顶端时,我希望看到类似的东西: PID USER Command 1234 dartagnan /usr/loc
目前,top告诉我几乎所有的httpd进程都是由nobody运行的. “差不多”,因为其中有两个是由root运行的.

我怎么能以这样的方式做到这一点,因为我有用户说:dartagnan,porthos,aramis,athos运行httpd每个单独作为所述用户

当我跑到最顶端时,我希望看到类似的东西:

PID  USER      Command
1234 dartagnan /usr/local/apache/bin/httpd -k start -DSSL
12   porthos   /usr/local/apache/bin/httpd -k start -DSSL
342  aramis    /usr/local/apache/bin/httpd -k start -DSSL
214  athos     /usr/local/apache/bin/httpd -k start -DSSL 

============>
这就是我现在所拥有的以及我不想看到的内容

PID  USER      Command
1234 nobody    /usr/local/apache/bin/httpd -k start -DSSL
12   nobody    /usr/local/apache/bin/httpd -k start -DSSL
342  nobody    /usr/local/apache/bin/httpd -k start -DSSL
214  nobody    /usr/local/apache/bin/httpd -k start -DSSL 
244  root      /usr/local/apache/bin/httpd -k start -DSSL 
334  root      /usr/local/apache/bin/httpd -k start -DSSL 

解决方法

httpd作为不同的User | Group运行的方法是更改​​httpd.conf文件中的 usergroup指令.
User apache
Group apache

然只会将上面输出中的nobody更改为apache,我猜这不是你想要的.

要让httpd作为特定用户运行,您将不得不为每个用户创建和管理配置文件.配置文件应该适当地指定用户和组以及httpd进程应通过Listen指令绑定到的端口.请记住,只有特权用户才能绑定到端口< 1024.然后你就可以这样开始了

apachectl -f /path/to/aramis.conf -k start -DSSL

注意其他httpd指令,例如VirtualHost可能也需要根据每个用户进行更改.

另外还涉及EL变体(RHel,CentOS Scientific Linux等)SELinux.您必须将每个实例将绑定到的端口添加http_port_t组,例如

semanage port -a -t http_port_t -p tcp 8888

这将允许httpd实例绑定到端口8888.

如果用户将使用他们的主目录来提供文件,则必须使用httpd_enable_homedires SELinux布尔值来允许它

setsebool -P httpd_enable_homedirs on

上面应该允许你配置httpd的每个用户实例,但每个用户必须记住用于添加到他们的URL的端口,例如上面的aramis

http://example.com:8888

这一切都非常混乱.为了帮助您的用户,您应该将主httpd配置为像往常一样在端口80上侦听,并充当每个用户实例的反向代理.然后当aramis连接到例如

http://aramis.example.com

主服务器代理是aramis的实例.

您将不得不适当地配置DNS以及其他可能的东西.

大佬总结

以上是大佬教程为你收集整理的linux – 如何以特定用户身份运行HTTPD,而不是由任何人运行?全部内容,希望文章能够帮你解决linux – 如何以特定用户身份运行HTTPD,而不是由任何人运行?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。