|
| Min Apahe kører som root.. Fra : Esben Laursen |
Dato : 17-04-03 13:46 |
|
Når jeg laver en:
ps -e u |grep root |grep apache
Viser den dette:
root 305 0.0 0.8 4064 2088 ? S Apr13 0:00
/usr/sbin/apache-ssl
root 691 0.0 1.6 72460 4280 ? S Apr16 0:01
/usr/sbin/apache
root 26825 0.0 0.1 1332 424 pts/0 S 14:44 0:00 grep apache
Jeg må gå ud fra at min apache kører som root så... Hvordan kan jeg ændre
det?
Den er installeret med "apt-get install apache" på min Debain box..
Plz help
Hilsen
Esben
Ps. God påske =)
| |
Adam Sjøgren (17-04-2003)
| Kommentar Fra : Adam Sjøgren |
Dato : 17-04-03 13:59 |
|
On Thu, 17 Apr 2003 14:46:25 +0200, Esben Laursen wrote:
> Jeg må gå ud fra at min apache kører som root så... Hvordan kan jeg
> ændre det?
Hvis du havde kigget grundigere efter (i.e. udeladt 'grep root'),
ville du have set, at _en_ af dine apache-processer kører som
root. Den der lytter til port 80 (hhv. 443).
Eks:
$ ps faux | grep [a]pache
root 279 0.0 0.1 18624 948 ? S 12:49 0:00 /usr/sbin/apache-perl
www-data 2466 0.0 0.3 18744 1876 ? S 12:55 0:00 \_ /usr/sbin/apache-perl
www-data 2467 0.0 0.3 18744 1928 ? S 12:55 0:00 \_ /usr/sbin/apache-perl
www-data 2468 0.0 0.3 18744 1924 ? S 12:55 0:00 \_ /usr/sbin/apache-perl
www-data 8011 0.0 0.3 18744 2048 ? S 14:33 0:00 \_ /usr/sbin/apache-perl
$
Man skal være root, for at kunne lytte på en privileret port (dem
under 1024). Det gør den første af apache-processerne, og uddelegerer
så arbejdet til de andre, der ikke kører som root.
(Hvis du ikke vil det, kan du sætte Apache til at lytte til en højere
port og starte apache som den bruger du nu vil).
Mvh.
--
"Jag tar en mandarin." Adam Sjøgren
asjo@koldfront.dk
| |
Esben Laursen (17-04-2003)
| Kommentar Fra : Esben Laursen |
Dato : 17-04-03 15:32 |
|
> Hvis du havde kigget grundigere efter (i.e. udeladt 'grep root'),
> ville du have set, at _en_ af dine apache-processer kører som
> root. Den der lytter til port 80 (hhv. 443).
>
> Eks:
>
> $ ps faux | grep [a]pache
> root 279 0.0 0.1 18624 948 ? S 12:49 0:00
/usr/sbin/apache-perl
> www-data 2466 0.0 0.3 18744 1876 ? S 12:55 0:00 \_
/usr/sbin/apache-perl
> www-data 2467 0.0 0.3 18744 1928 ? S 12:55 0:00 \_
/usr/sbin/apache-perl
> www-data 2468 0.0 0.3 18744 1924 ? S 12:55 0:00 \_
/usr/sbin/apache-perl
> www-data 8011 0.0 0.3 18744 2048 ? S 14:33 0:00 \_
/usr/sbin/apache-perl
> $
Hvordan kan du se den "lytter"?? Eller er det bare noget du ved?
Det kommer sig af jeg ville gerne øge sikkerheden på min server ved at kun
lade de programmer der SKAL køre som root, køre ellers skifte bruger..
Esben
Esben
| |
Adam Sjøgren (17-04-2003)
| Kommentar Fra : Adam Sjøgren |
Dato : 17-04-03 15:44 |
|
On Thu, 17 Apr 2003 16:31:44 +0200, Esben Laursen wrote:
> Hvordan kan du se den "lytter"?? Eller er det bare noget du ved?
Det kunne man ikke se ud af det jeg skrev - man kunne alene se at kun
forældre-apache'n kører som root, mens de andre ikke gør.
Hvis du vil se hvem der lytter kan du bruge netstat(8):
$ sudo netstat -ntap | grep apache
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 279/apache-perl
$
> Det kommer sig af jeg ville gerne øge sikkerheden på min server ved
> at kun lade de programmer der SKAL køre som root, køre ellers skifte
> bruger..
Nå, for søren.
Mvh.
--
"Jag tar en mandarin." Adam Sjøgren
asjo@koldfront.dk
| |
Esben Laursen (17-04-2003)
| Kommentar Fra : Esben Laursen |
Dato : 17-04-03 17:14 |
|
"Adam Sjøgren" <spamtrap@koldfront.dk> skrev i en meddelelse
news:87fzohxjyl.fsf@virgil.koldfront.dk...
> On Thu, 17 Apr 2003 16:31:44 +0200, Esben Laursen wrote:
>
> > Hvordan kan du se den "lytter"?? Eller er det bare noget du ved?
>
> Det kunne man ikke se ud af det jeg skrev - man kunne alene se at kun
> forældre-apache'n kører som root, mens de andre ikke gør.
>
Nå hvordan kunne du se det var en "forældre-process"??
Hilsen
Esben
| |
Bo Simonsen (17-04-2003)
| Kommentar Fra : Bo Simonsen |
Dato : 17-04-03 18:31 |
|
Esben Laursen wrote:
> Nå hvordan kunne du se det var en "forældre-process"??
Logisk: for der kræves root for at lytte på en port der er lavere end 1024.
"Fysisk": Fordi den har en lavere pid en de andre apache-processer
--
Med venlig hilsen | Downlink BBS
Bo Simonsen | telnet geekworld.dk
| |
Kent Friis (17-04-2003)
| Kommentar Fra : Kent Friis |
Dato : 17-04-03 20:07 |
|
Den Thu, 17 Apr 2003 19:31:02 +0200 skrev Bo Simonsen:
>Esben Laursen wrote:
>
>> Nå hvordan kunne du se det var en "forældre-process"??
>
>Logisk: for der kræves root for at lytte på en port der er lavere end 1024.
>
>"Fysisk": Fordi den har en lavere pid en de andre apache-processer
pid-tælleren begynder forfra (dog uden at genbruge numrene fra kørende
processer), når den engang når sin max-værdi, så det kan du principielt
ikke gå ud fra.
Du skal kigge på PPID i stedet for.
Mvh
Kent
--
You haven't seen _multitasking_ until you've seen Railroad
Tycoon II and Unreal Tournament run side by side
| |
Adam Sjøgren (17-04-2003)
| Kommentar Fra : Adam Sjøgren |
Dato : 17-04-03 19:07 |
|
On Thu, 17 Apr 2003 18:14:20 +0200, Esben Laursen wrote:
> "Adam Sjøgren" <spamtrap@koldfront.dk> skrev i en meddelelse
> news:87fzohxjyl.fsf@virgil.koldfront.dk...
>> On Thu, 17 Apr 2003 16:31:44 +0200, Esben Laursen wrote:
>>
>> > Hvordan kan du se den "lytter"?? Eller er det bare noget du ved?
>>
>> Det kunne man ikke se ud af det jeg skrev - man kunne alene se at kun
>> forældre-apache'n kører som root, mens de andre ikke gør.
>>
> Nå hvordan kunne du se det var en "forældre-process"??
Når man giver ps option'en "f", så tegner den dem:
279 ? S 0:00 /usr/sbin/apache-perl
2466 ? S 0:00 \_ /usr/sbin/apache-perl
2467 ? S 0:00 \_ /usr/sbin/apache-perl
2468 ? S 0:00 \_ /usr/sbin/apache-perl
8011 ? S 0:00 \_ /usr/sbin/apache-perl
15233 ? S 0:00 \_ /usr/sbin/apache-perl
"\_" er et forsøg på at "tegne" forholdet mellem den første process og
de andre.
Et andet eksempel:
463 ? S 0:00 /usr/lib/postgresql/bin/postmaster
465 ? S 0:00 \_ postgres: stats buffer process
466 ? S 0:00 | \_ postgres: stats collector process
15232 ? S 0:00 \_ postgres: chronos chronos [local] idle
Se ps(1):
" f ASCII-art process hierarchy (forest)"
Mvh.
--
"Jag tar en mandarin." Adam Sjøgren
asjo@koldfront.dk
| |
Esben Laursen (18-04-2003)
| Kommentar Fra : Esben Laursen |
Dato : 18-04-03 07:32 |
|
> "\_" er et forsøg på at "tegne" forholdet mellem den første process og
> de andre.
>
> Et andet eksempel:
>
> 463 ? S 0:00 /usr/lib/postgresql/bin/postmaster
> 465 ? S 0:00 \_ postgres: stats buffer process
> 466 ? S 0:00 | \_ postgres: stats collector process
> 15232 ? S 0:00 \_ postgres: chronos chronos [local] idle
>
Smart Takker =)
Esben
Som nok heller må komme i seng nu =)
| |
|
|