Apache 2.0 i pliki użytkownika w katalogu public_html

Konfiguracja serwerów, usług, itp.
diablo__
Posty: 27
Rejestracja: 06 kwietnia 2009, 16:43

Apache 2.0 i pliki uŻytkownika w katalogu public_html

Post autor: diablo__ »

Problem polega na tym, jak użytkownik wrzuca pliki sobie do public_html przez FTP to apache 2.0 nie pokazuje ich ze względu na prawa do katalogów i plików. Jak sobie z tym poradzić?
Awatar użytkownika
cyryllo
Beginner
Posty: 120
Rejestracja: 11 grudnia 2007, 00:33
Lokalizacja: Gdańsk

Post autor: cyryllo »

Rozwiń problem bardziej. Chodzi ci o to że osoba wrzuca do folderu w swoim katalogu domowym o takiej nazwie jak podałeś czy do /var/www/
diablo__
Posty: 27
Rejestracja: 06 kwietnia 2009, 16:43

Post autor: diablo__ »

Użytkownik np. abc wchodzi na swoje konto /home/abc i ma w nim public_html i tam wysyła swoje pliki, które później widoczne są w nazwa.pl~/abc lecz problem jest taki ze jak nie wejdzie przez ssh i nie zmieni praw to mu się nic nie pokaże.
B33RK4
Posty: 40
Rejestracja: 28 marca 2008, 19:53
Lokalizacja: Opole

Post autor: B33RK4 »

Głupie trochę rozwiązanie - jak dasz ,,chmod a+r'' na katalog home?
diablo__
Posty: 27
Rejestracja: 06 kwietnia 2009, 16:43

Post autor: diablo__ »

Nie pomaga, problem jest z katalogami, które są tworzone poprzez FTP.
winnetou

Post autor: winnetou »

Dziękuje...
diablo__
Posty: 27
Rejestracja: 06 kwietnia 2009, 16:43

Post autor: diablo__ »

winnetou, ustawiłem tak jak radziłeś, ale niestety nie pomaga.

Po wgraniu plików przez ftp wygląda to tak, i nie widać już katalogów strona1 i strona2 pokazuje tylko pusty public_html.

Kod: Zaznacz cały

diabelski:~# cd /home/strona/
diabelski:/home/strona# ls -al
razem 32
drwxr-xr-x 4 strona strona 4096 wrz  1 19:59 .
drwxr-xr-x 4 root   root   4096 wrz  1 17:59 ..
-rw------- 1 strona strona   30 wrz  1 19:46 .bash_history
-rw-r--r-- 1 strona strona  220 wrz  1 17:58 .bash_logout
-rw-r--r-- 1 strona strona 3127 wrz  2 07:34 .bashrc
drwxr-xr-x 2 strona strona 4096 wrz  1 19:17 .mc
-rw-r--r-- 1 strona strona  675 wrz  1 17:58 .profile
drwxrwxrwx 4 strona strona 4096 wrz  2 07:35 public_html
diabelski:/home/strona# cd public_html/
diabelski:/home/strona/public_html# ls -al
razem 16
drwxrwxrwx 4 strona strona 4096 wrz  2 07:35 .
drwxr-xr-x 4 strona strona 4096 wrz  1 19:59 ..
drwxr-x--- 2 strona strona 4096 wrz  2 07:35 strona1
drwxr-x--- 2 strona strona 4096 wrz  2 07:35 strona2
diabelski:/home/strona/public_html#
winnetou

Post autor: winnetou »

Dziękuje...
diablo__
Posty: 27
Rejestracja: 06 kwietnia 2009, 16:43

Post autor: diablo__ »

Winnetou problem jest nadal, ale tak dla jasności ktoś tam przesyła pliki ftp za pomocą np. total commander albo cos takiego.
gr3g
Posty: 25
Rejestracja: 14 lutego 2007, 17:25

Problem z prawami dostępu na serwerze Apache2

Post autor: gr3g »

Mam podobny problem jak rozwiązać w "elegancki" sposób problem z prawami dostępu na serwerze www. Chodzi o to jak to się robi na "prawdziwych" serwerach w firmach sprzedających usługi hostingowe.
Do rzeczy: Mam postawiony serwer Apache2 na Debianie 5.0. Domyślny katalog dla tego serwera to: /var/www i tak to zostawiłem. Oczywiście użytkownicy muszą jakoś wrzucać na serwer swoje stronki mniej lub bardziej rozbudowane. Uruchomiłem, więc serwer ProFtpd. Skonfigurowałem go tak aby pracował z wirtualnymi a nie systemowymi użytkownikami. Opis jak to zrobić znalazłem tutaj: http://www.debianhelp.co.uk/pureftp.htm
Serwer apache2 pracuje na prawach użytkownika www-data, a serwer FTP (w moim przypadku na prawach użytkownika ftpuser. Na początku okazało się więc, że użytkownicy nie mogą zapisywać za pomocą ftpa do katalogu /var/www. Zmieniłem więc właściciela i grupę dla /var/www poleceniem:

Kod: Zaznacz cały

chown -R  ftpuser:ftpgroup /var/www/
Takie rozwiązanie działa dopóki są to prościutkie strony w html. Kiedy uzupełniłem serwer o obsługę Php i MySQL i spróbowałem zainstalować Joomlę zaczęły się schody. Instalator Joomli uruchamiany przez apache2 nie miał praw zapisu do katalogów wrzuconych przez ftp bo te należały do ftpuser a apache2 pracuje z uprawnieniami www-data. Po zmianie właściciela na www-data dla katalogu instalacyjnego Joomli instalator poradził sobie bez problemu. Niestety ta zmiana praw dostępu odbyła się przez konsolę a chodzi mi o to żeby użytkownicy bez ingerencji admina sami mogli instalować sobie systemy CMS na serwerze. Zmieniłem znów właściciela katalogu /var/www/ na www-data i dodałem użytkownika www-data do grupy ftpgroup nadałem też pełne uprawnienia użytkownikom grupowym do katalogu /var/www:

Kod: Zaznacz cały

# chmod -R 771 /var/www
To nie pomogło gdyż jeżeli wrzucam coś ftpem to utworzony katalog jest nadal własnością użytkownika ftpuser i serwer apache2 na prawach www-data nie ma tam praw do zapisu. Jak to zrobić żeby dało się wrzucać coś przez ftp i jednocześnie w utworzonych ftpem katalogach apache2 mógł zapisywać i modyfikować pliki. Oczywiście użytkownik ftpuser to użytkownik "bez shellowy". Jak to zrobić tak żeby nie narażać bezpieczeństwa systemu. Czyli jak to się robi w firmach sprzedających hosting? Oto jest pytanie?
ODPOWIEDZ