Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Bezpieczeństwo apache
Forum PHP.pl > Forum > Serwery WWW
Macok
Pytanie lamerskie, ale nie rozumiem jak to działa.
Mianowicie załóżmy, że ktoś założył sobie forum na jakiśhosting.pl i ustawił chmody 777 w katalogu avatars.

1. Jak to możliwe, że jeżeli ktoś inny założy sobie konto na tym samym hostingu to nie ma możliwości zapisania czegoś w tym katalogu?

2. Zresztą z tego co wiem wszystkie skrypty php są wykonywane na prawach serwera apache, który przecież musi mieć prawa dostępu do wszystkich kont na serwerze, a więc jak to jest zrobione że jak odpale skrypt
  1. <?php readfile("/home/dowolnyuser/index.php"); ?>
To nie mam dostępu?

Nie chce wiedzieć jak obejść takie zabezpieczenie, poprostu interesuje mnie jak to działa i ew. jak to włączyć u siebie.

PS. Nie śmiać sie.
pyro
Cytat(Macok @ 27.07.2008, 00:25:51 ) *
1. Jak to możliwe, że jeżeli ktoś inny założy sobie konto na tym samym hostingu to nie ma możliwości zapisania czegoś w tym katalogu?


Dla każdego użytkownika na danym hostingu tworzone jest oddzielne konto i np jesli struktura katalogów jest taka:

/home/użytkownik to użytkownik ma dostęp tylko do katalogu "użytkownik" (prawa są tworzone podczas zakładania konta) i ten sam uzytkownik nie ma dostepu np. do

/home/użytkownik2

Cytat(Macok @ 27.07.2008, 00:25:51 ) *
2. Zresztą z tego co wiem wszystkie skrypty php są wykonywane na prawach serwera apache, który przecież musi mieć prawa dostępu do wszystkich kont na serwerze, a więc jak to jest zrobione że jak odpale skrypt


Bzdury (no chyba że admin nie lubi swojego serwera), każdy poprostu ma dostęp do folderu, z którego apache czyta www, w którym ma własny folder, w którym te dane się znajdują.
Macok
No dobra dzięki, a jak ustawić u siebie coś takiego, że każdy ma dostęp tylko katalogu "/home/czyjasnazwa/public_html" ?

Przyczym np. z katalogu "/home/robert/public_html" nie ma dostepu "/home/michal/public_html" i odwrotnie.
pyro
poustawiaj odpowiednie prawa dla użytkowników w linuksie
Macok
Dzieki za odpowiedź, ale mimo to nie rozumiem.
Co to za różnica jakie prawa ustawie, skoro apache i tak działa na prawach roota i ma dostęp do katalogów wszystkich uzytkowników?
angel2953
Cytat(pyro @ 27.07.2008, 14:07:19 ) *
poustawiaj odpowiednie prawa dla użytkowników w linuksie

To może byś podał jak dokładnie takie prawa mają wyglądać (dla katalogów /home/<user> i /home/<user>/public_html) bo sam jestem ciekaw...
pyro
prosty skrypcik:

  1. <?php
  2. print_r(posix_getpwuid(posix_getuid()));
  3. ?>


przykładowy wynik:

Kod
Array
(
    [name] => mario
    [passwd] => x
    [uid] => 3354
    [gid] => 3354
    [gecos] =>
    [dir] => /home/platne/mario
    [shell] => /bin/false
)


teraz kto wie choć troche o nadawaniu praw, przyporządkowaniu folderów i administracją użytkowników będzie wiedział co robić, a kto nie wie, niech zacznie czytać ;P
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.