Strona 1 z 1

Apache 2.0 i pliki uŻytkownika w katalogu public_html

: 01 września 2009, 19:56
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ć?

: 01 września 2009, 21:56
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/

: 01 września 2009, 22:20
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.

: 01 września 2009, 22:26
autor: B33RK4
Głupie trochę rozwiązanie - jak dasz ,,chmod a+r'' na katalog home?

: 01 września 2009, 22:38
autor: diablo__
Nie pomaga, problem jest z katalogami, które są tworzone poprzez FTP.

: 02 września 2009, 01:07
autor: winnetou
Dziękuje...

: 02 września 2009, 07:42
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#

: 02 września 2009, 11:56
autor: winnetou
Dziękuje...

: 02 września 2009, 16:23
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.

Problem z prawami dostępu na serwerze Apache2

: 02 września 2009, 21:09
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?