我怎么能以这样的方式做到这一点,因为我有用户说: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
解决方法
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以及其他可能的东西.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。