17
|
Adriana · 技术社区 · 16 年前 |
![]() |
1
11
要使其显示在HTTPs标准端口80(这是专用端口)上,您必须进行设置, 作为根 重定向到真正的Apache服务器。最简单的方法可能是使用iptables。例如,如果您的Apache服务器正在侦听端口8080:
如果您不能像这样配置服务器(或者让您的系统管理员一次性配置),您将不得不使用非特权端口(类似
|
![]() |
2
6
简短回答:没有 原因是只有root用户可以绑定1024以下的端口。 详细回答:退房 http://www.debian-administration.org/articles/386 一旦你解决了港口的问题,我想就不会再有麻烦了。请记住,运行apache的用户需要对日志文件以及其他一些文件具有写访问权限。 但是,如果您在没有sudo的情况下运行它,那么spawner可能无法更改用户,因此apache将作为启动它的用户而不是apache用户来运行。 但你不想经营sudo的原因是什么?只有产卵器进程以root用户身份运行,其余进程在apache用户下运行。 |
![]() |
3
6
如果已安装sudo,则可以创建一个文件:/etc/suduers.d/apache2reload,其中包含以下内容:
|
![]() |
4
4
如果不想授予sudo访问权限,还可以创建setuid包装程序。例如: httpdctrl.c
在以下位置更新路径:
现在httpdctrl归root所有,setuid将以root身份运行它。 重要提示:确保启动/停止脚本和所有父目录也归root所有。同时删除“其他”对文件和目录的写访问权。基本上,您不希望有人能够编辑或更改使用root执行的dir/文件。 |
![]() |
5
3
benlumley在上面指出的问题,即日志文件和保留端口,可以通过在httpd.conf中配置日志目录和端口轻松克服。 |
![]() |
6
1
我认为你需要克服的两个问题是:
|
![]() |
7
0
我认为您应该能够通过向拥有Apache控制程序的组(例如,“chmod g+x apachectl”)授予execute访问权限来实现这一点。如果这本身不起作用,还可以尝试在程序上设置owner SUID位(类似于“chmod u+s apachectl”)。 第一步允许wwwrun组中的用户执行apachectl程序。第二步是,当组运行程序时,它以程序所有者的权限运行。
但在执行此操作之前,请确保您了解设置SUID位的后果。 |
![]() |
8
0
|
![]() |
9
0
您可以使用sudo-l查看您的权限,从这里您可能会发现您可以访问restart命令,但可能无法启动和停止。 |
![]() |
10
0
我发现的一些链接对此给出了最有益的答案。从技术上讲,它仍然充当root用户,但您可以chmod u+s apache2和apache2ctl(如果您也使用第二个)加载文件。这允许您使用root访问权限运行它们,但仍然是拥有相同权限的用户,保持安全完整(除非apache或apache2ctl做了更疯狂的事情,我对此表示怀疑)。 |
![]() |
11
-1
您可以使用supervisor运行apache |
![]() |
Adithya · Apache mod_重写以调用不同的URL 3 年前 |
![]() |
Coolen · 通过htaccess重定向并删除部分链接 3 年前 |
![]() |
ciromanfredi · Apache任务组执行 3 年前 |
![]() |
Rabi · php和libapache2 mod php之间的区别 3 年前 |