/ Forside / Teknologi / Operativsystemer / Linux / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Linux
#NavnPoint
o.v.n. 11177
peque 7911
dk 4814
e.c 2359
Uranus 1334
emesen 1334
stone47 1307
linuxrules 1214
Octon 1100
10  BjarneD 875
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 =)



Søg
Reklame
Statistik
Spørgsmål : 177560
Tips : 31968
Nyheder : 719565
Indlæg : 6408943
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste