2008-10-06 15 views
6

Jaka jest najlepsza praktyka w zakresie konfigurowania serwera LAMP pod względem użytkowników i grup systemu Linux? Jeśli na tym samym serwerze znajduje się wiele witryn, najlepiej jest mieć jednego użytkownika, który jest właścicielem wszystkich plików źródłowych witryny (i przesłanych), które znajdują się w tej samej grupie co apache - lub mieć innego użytkownika dla każdej witryny (aby każda strona ma swój własny crontab)? Lub coś zupełnie innego?Użytkownicy systemu Linux i grupy dla serwera LAMPA

Z jakiegoś powodu to pytanie nigdy nie wydaje się być adresowane w książkach PHP/MySQL/Linux, które napotkałem.

Odpowiedz

1

Na naszej platformie htdocs każdej witryny itp. Ma swojego użytkownika. Oznacza to, że jeśli jedna strona zostanie naruszona, pozostałe powinny być w porządku.

1

Jeśli jest to niewielka liczba dużych witryn może się okazać, że podział serwera na wiele maszyn wirtualnych przy użyciu coś jak Xen jest lepszym rozwiązaniem niż po prostu segregacji przez użytkownika. Ulepszy to izolację twoich stron i ułatwi przeniesienie witryny na własny sprzęt, jeśli w przyszłości zacznie się znacznie zwiększać wykorzystanie zasobów niż inne.

0

Zakładam, że nie chcesz zaszaleć i dostać się do cPanel WHM i może chcieć to zrobić inexpesnively.

Myślę, że najlepszym rozwiązaniem jest mieć każdemu użytkownikowi dostęp do swojego miejsca z własnej nazwy użytkownika i grupy - zwłaszcza jeśli niepowiązanych użytkownicy mogą używać serwera WWW.

Jeśli masz ponad 10 domen i użytkowników, a chcesz zachować rachunki segregowane do własnej przestrzeni, chciałbym rozważyć użycie Webmin z VirtualMin zainstalowany na serwerze. To z łatwością radzi sobie z tego typu problemami, w miłej, bezpłatnej instalacji. W przeciwnym razie będziesz musiał kupić produkt komercyjny lub poradzić sobie ze wszystkim ręcznie - prawdziwy ból, ale można to zrobić (niezalecane w przypadku komercyjnego przedsięwzięcia).

Ponadto, Xen i VMS może być przesada, ale też nie jest tak łatwe do zarządzania, jak Webmin/VirtualMin dla 10-100 + konta.

0

Najlepszym wyborem jest utworzenie VirtualHost dla każdej domeny przy użyciu Apache z modułem suPHP. W ten sposób każda strona będzie własnością użytkownika i uruchomiona za zgodą tego użytkownika. Webroot każdej witryny powinien być umieszczony w homedirze użytkownika, aby zapobiec atakowi lokalnemu.

Jeśli używasz tego samego użytkownika dla każdej witryny, oznacza to, że użytkownik z witryny A może uzyskać dostęp do odczytu/zapisu do plików witryny internetowejB.

0

Przez kilka lat tworzyłem mały hosting na poziomie, a moja odpowiedź brzmi "to zależy".

Przede wszystkim jest różnica między modułem Apache (mod_php). CGI i FastCGI. Dobrym lista ze wszystkich zalet i wad można znaleźć tutaj: Apache php modes

Gdy chodzi o bezpieczeństwo wszystkich trybach mają wady i zalety.

Ponieważ mamy tylko odbyło się stosunkowo niewielką ilość domen z umiarkowanym ruchu postanowiłem pozostać przy mod_php i używane konfiguracji vhost.

Użyłem również różnych użytkowników FTP dla każdego katalogu głównego vhosta (oczywiście).

Konfiguracja vhostów (po jednym na klienta) pozwala na łatwe wyłączenie domen bez konieczności przebijania się przez absurdalnie duży httpd.conf i generowania błędów na drodze.

Powiązane problemy