So starten Sie Apache unter einem normalen Benutzer

王林
Freigeben: 2020-08-28 16:10:36
nach vorne
4210 Leute haben es durchsucht

So starten Sie Apache unter einem normalen Benutzer

Ziel:

(Empfohlenes Tutorial: Apache)

Der von normalen Benutzern kompilierte Apache muss unter diesem Benutzer Apache-Ports unterhalb von Port 1024 starten.

1. Nehmen Sie an, dass der normale Benutzer sims20 ist. Der Installationspfad ist /opt/aspire/product/sims20/apache

2 Port von http.conf auf 80

3. Beginnen Sie direkt mit normalen Benutzern sims20

./configure --prefix=/opt/aspire/product/sims20/apache   --enable-so --enable-modules=all   --enable-mods-shared=all   --enable-mods-shared='proxy proxy_ajp proxy_balancer proxy_connect proxy_ftp proxy_http proxy_rewrite'
make  
make install
Nach dem Login kopieren

Fehlerursache: Unter Linux können normale Benutzer nur Ports über 1024 verwenden, und Ports innerhalb von 1024 können nur von Root-Benutzern verwendet werden

4 . Verwenden Sie setuid, um das Problem zu lösen, damit httpd mit Root-Rechten ausgeführt werden kann. Melden Sie sich als Root-Benutzer an, geben Sie /opt/aspire/product/sims20/apache/bin ein, verwenden Sie chown root httpd, chmod u+s httpd zum Festlegen der Besitzer von httpd auf Root und Sonderberechtigungen

  [sims20@bcd-app01 bin]$ ./apachectl  start
(13)Permission denied: make_sock: could not bind to address [::]:80
(13)Permission denied: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
Unable to open logs
Nach dem Login kopieren

5. Geben Sie den normalen Benutzer sims20 erneut ein, starten Sie Apache

[root@bcd-app01 bin]# ls  -l  httpd
-rwxr-xr-x 1 sims20 aspire 3517470  3月 15 17:12 httpd
[root@bcd-app01 bin]# chown root  httpd
[root@bcd-app01 bin]# ls  -l  httpd
-rwxr-xr-x 1 root aspire 3517470  3月 15 17:12 httpd
[root@bcd-app01 bin]# chmod u+s httpd
[root@bcd-app01 bin]# ls  -l  httpd
-rwsr-xr-x 1 root aspire 3517470  3月 15 17:12 httpd
Nach dem Login kopieren

und es kann normal starten, es wird kein Fehler gemeldet

6. Versuchen Sie, auf

[sims20@bcd-app01 bin]$ ./apachectl  start
Nach dem Login kopieren

und einen 403 zuzugreifen Es wird ein verbotener Fehler gemeldet

7. Sehen Sie sich den Prozess an

 [sims20@bcd-app01 bin]$ curl  http://10.24.12.159:80
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>403 Forbidden</title>
</head><body>
<h1>Forbidden</h1>
<p>You don&#39;t have permission to access /
on this server.</p>
</body></html>
Nach dem Login kopieren

Wie entkommt man dem Daemon-Benutzer? Es stellt sich heraus, dass der Hauptprozess httpd immer noch mit den Berechtigungen des Root-Benutzers ausgeführt wird und seine untergeordneten Prozesse als ausgeführt werden Ein Benutzer mit niedrigeren Berechtigungen, und dieser Benutzerdaemon mit niedrigeren Berechtigungen ist in http.conf konfiguriert

8, konfigurieren Sie ihn in http.conf, ändern Sie den Benutzer von root

[sims20@bcd-app01 bin]$ ps  -ef |grep httpd
root      7841     1  0 17:24 ?        00:00:00 /opt/aspire/product/sims20/apache/bin/httpd -k start
daemon    7844  7841  0 17:24 ?        00:00:00 /opt/aspire/product/sims20/apache/bin/httpd -k start
daemon    7845  7841  0 17:24 ?        00:00:00 /opt/aspire/product/sims20/apache/bin/httpd -k start
daemon    7846  7841  0 17:24 ?        00:00:00 /opt/aspire/product/sims20/apache/bin/httpd -k start
daemon    7847  7841  0 17:24 ?        00:00:00 /opt/aspire/product/sims20/apache/bin/httpd -k start
daemon    7848  7841  0 17:24 ?        00:00:00 /opt/aspire/product/sims20/apache/bin/httpd -k start
sims20    8006  3026  0 17:29 pts/4    00:00:00 grep httpd
Nach dem Login kopieren

in

User daemon
Group daemon
Nach dem Login kopieren

9. Starten Sie Apache wie gewohnt Benutzer erneut

User root
Group root
Nach dem Login kopieren

Wenn es nicht funktioniert, müssen Sie mit den Parametern neu kompilieren

10. Erneut ändern. Konfigurieren Sie es in http.conf und ändern Sie den Benutzer in einen normalen Benutzer

bis

[sims20@bcd-app01 bin]$ ./apachectl  restart
Syntax error on line 76 of /opt/aspire/product/sims20/apache/conf/httpd.conf:
Error:\tApache has not been designed to serve pages while\n\trunning as root.  
There are known race conditions that\n\twill allow any local user to read any file on the system.\n\tIf you still desire to serve pages as root then\n\tadd -DBIG_SECURITY_HOLE to the CFLAGS env variable\n\tand then rebuild the server.\n\tIt is strongly suggested that you instead modify the User\n\tdirective in your httpd.conf file to list a non-root\n\tuser.\n
Nach dem Login kopieren

11. Starten Sie Apache erneut mit dem normalen Benutzer sims20

User sims20
Group aspire
Nach dem Login kopieren

12. Versuchen Sie, auf

[sims20@bcd-app01 bin]$ ./apachectl  start
[sims20@bcd-app01 bin]$ ps  -ef  |grep  httpd
root      9720     1  0 18:09 ?        00:00:00 /opt/aspire/product/sims20/apache/bin/httpd -k start
sims20    9721  9720  0 18:09 ?        00:00:00 /opt/aspire/product/sims20/apache/bin/httpd -k start
sims20    9722  9720  0 18:09 ?        00:00:00 /opt/aspire/product/sims20/apache/bin/httpd -k start
sims20    9723  9720  0 18:09 ?        00:00:00 /opt/aspire/product/sims20/apache/bin/httpd -k start
sims20    9724  9720  0 18:09 ?        00:00:00 /opt/aspire/product/sims20/apache/bin/httpd -k start
sims20    9725  9720  0 18:09 ?        00:00:00 /opt/aspire/product/sims20/apache/bin/httpd -k start
sims20    9739  3026  0 18:09 pts/4    00:00:00 grep httpd
Nach dem Login kopieren

zuzugreifen, und es gelingt.

Das obige ist der detaillierte Inhalt vonSo starten Sie Apache unter einem normalen Benutzer. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:cnblogs.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!