apache2, proftpd i chown dla róznych użytkowników

Konfiguracja serwerów, usług, itp.
wario
Posty: 6
Rejestracja: 07 stycznia 2009, 15:35

apache2, proftpd i chown dla róznych uŻytkowników

Post autor: wario »

Problem jest taki, że gdy ustawię chown +R www-data na katalog /var/www to strona działa i nie wyświetla błędu typu:
failed to fopen: permission denied.
Natomiast po zalogowaniu na ftp jako użytkownik "jakisuser" (document root ustawiony na /var/www) nie można uploadować, zmieniać uprawnień do plików, po prostu pojawia się:
błąd 550: permission denied.
Druga opcja to ustawienie chown na nazwę użytkownika katalogu /var/www, wtedy z ftp jest w porządku ale ze strony wywala błąd:
failed to fopen: permission denied.
Czy da się ustawić chown dla różnych użytkowników na ten sam katalog, czy może jest inny sposób pogodzenia z uprawnieniami?
Awatar użytkownika
lis6502
Member
Posty: 1798
Rejestracja: 05 listopada 2008, 20:14
Lokalizacja: Miasto Szybowców

Post autor: lis6502 »

Metoda nr:1

Kod: Zaznacz cały

chmod a+rw /var/www -R
Metoda nr:2

Kod: Zaznacz cały

adduser jakisuser www-data
chmod g+rw /car/www -R
wario
Posty: 6
Rejestracja: 07 stycznia 2009, 15:35

Post autor: wario »

Wszystko ładnie pięknie tylko, że:

Przy metodzie 1 chmody katalogów zamieniają się na 777 a plików 666. Jak wiadomo jest niebezpiecznie ustawić tak chmody.

Przy metodzie 2 już trochę lepiej ale też nie oto chodzi.

Chcę zrobić tak samo jak w hostingach, łączę się przez ftp i wrzucam stronę. Chmody dla katalogów 755 a dla plików 644 i mam pełne prawa usuwać zmieniać itp oraz strona nie wyrzuca błędów typu fopen permission.

Kilka dni się męczę z tym problemem, w google nie znalazłem rozwiązania tego problemu. Możliwe że coś źle robię.
Awatar użytkownika
lis6502
Member
Posty: 1798
Rejestracja: 05 listopada 2008, 20:14
Lokalizacja: Miasto Szybowców

Post autor: lis6502 »

Może przeszukaj configa od proftpd pod kątem user:group z którego korzysta? W tej chwili nie mam postawionego, ale w apaczu takie coś jest, ustawione wiadomo na kogo.
Zmień w konfigu od ftp by logował się chociaż na grupę www-data, a potem zmodyfikuj metodę nr 2.
wario
Posty: 6
Rejestracja: 07 stycznia 2009, 15:35

Post autor: wario »

User:Group mam ustawione na www-data.

Jeśli się nie da to może jest inne rozwiąznie, może home/jakisuser/public_html. Ale wydaje mi się, że będzie podobny problem.
Awatar użytkownika
lis6502
Member
Posty: 1798
Rejestracja: 05 listopada 2008, 20:14
Lokalizacja: Miasto Szybowców

Post autor: lis6502 »

Skoro masz ustawione na www-data w konfigu ftp to jaki problem widzisz?

Kod: Zaznacz cały

ftp jakasdomena.org
passwod:****
ftp >cd /var/www
ftp >put mojastronka.html
ftp >close
ftp >quit
Nie doczytałem czegoś?
wario
Posty: 6
Rejestracja: 07 stycznia 2009, 15:35

Post autor: wario »

Twoje metody działają połowiczne, tzn.

Za każdym razem trzeba wpisywać chmod jak wrzucę pliki na serwer i te nieszczęsne chmody typu 777 albo 775.

A najważniejsze to chmody chcę mieć takie jakie były na serwerze (755 katalog, 644 pliki), tj w hostingach.

Problem mogę też rozwiązać tak:

Gdy chcę wrzucić pliki, zmienić nazwę, ustawić chmody na ftp to wpisuję:

Kod: Zaznacz cały

chown -R jakisuser /var/www
Po zakończeniu sesjii ftp wpisuję to co poniżej, gdy chcę aby strona nie wyrzucała błędów

Kod: Zaznacz cały

chown -R www-data /var/www
Problem jest taki, że nie chce wpisywać te komendy za każdym razem aby błędów nie było (blokad uprawnień) i aby były te same chmody dla bezpieczeństwa serwera.

Np. w na serwerze HOME ładnie wrzucam pliki (chmody takie jakie powinny być). Strona nie wywala błędów.
Awatar użytkownika
lis6502
Member
Posty: 1798
Rejestracja: 05 listopada 2008, 20:14
Lokalizacja: Miasto Szybowców

Post autor: lis6502 »

User:Group mam ustawione na www-data.
W apaczu czy ftp?
Za każdym razem trzeba wpisywać chmod jak wrzucę pliki na serwer i te nieszczęsne
Słyszałeś o 'lepkich' atrybutach? W telegraficznym skrócie: /usr/local jest 'lepki', tzn wszystko, co dotkniesz w nim dostaje grupę staff. Spójrz
lis6502@Nexus:/usr/local$ id
uid=1000(lis6502) gid=1000(lis6502) grupy=4(adm),20(dialout),24(cdrom),25(floppy),27(sudo),29(audio),44(video),46(plugdev),50(staff),125(vboxusers),1000(lis6502)
lis6502@Nexus:/usr/local$ la -a
razem 0
drwxrwsr-x 10 root staff 312 sty 7 21:09 .
drwxr-xr-x 13 root root 312 gru 17 05:36 ..
drwxr-xr-x 2 root staff 416 sty 6 22:06 bin
drwxrwsr-x 2 root staff 48 sty 6 22:06 etc
drwxrwsr-x 2 root staff 48 gru 17 01:55 games
drwxr-sr-x 6 root staff 176 sty 5 21:38 include
lrwxrwxrwx 1 root staff 10 gru 30 17:04 kde -> /usr/local
drwxr-xr-x 8 root staff 344 sty 5 21:38 lib
lrwxrwxrwx 1 root staff 9 gru 17 01:55 man -> share/man
drwxrwsr-x 2 root staff 48 gru 17 01:55 sbin
drwxr-sr-x 16 root staff 416 sty 5 12:17 share
drwxrwsr-x 2 root staff 48 gru 17 01:55 src
lis6502@Nexus:/usr/local$ touch me
lis6502@Nexus:/usr/local$ ls -al
razem 0
drwxrwsr-x 10 root staff 312 sty 7 21:14 .
drwxr-xr-x 13 root root 312 gru 17 05:36 ..
drwxr-xr-x 2 root staff 416 sty 6 22:06 bin
drwxrwsr-x 2 root staff 48 sty 6 22:06 etc
drwxrwsr-x 2 root staff 48 gru 17 01:55 games
drwxr-sr-x 6 root staff 176 sty 5 21:38 include
lrwxrwxrwx 1 root staff 10 gru 30 17:04 kde -> /usr/local
drwxr-xr-x 8 root staff 344 sty 5 21:38 lib
lrwxrwxrwx 1 root staff 9 gru 17 01:55 man -> share/man
-rw-r--r-- 1 lis6502 staff 0 sty 7 21:14 me
drwxrwsr-x 2 root staff 48 gru 17 01:55 sbin
drwxr-sr-x 16 root staff 416 sty 5 12:17 share
drwxrwsr-x 2 root staff 48 gru 17 01:55 src
Po szczególy lepkich odsyłam do mana.
wario
Posty: 6
Rejestracja: 07 stycznia 2009, 15:35

Post autor: wario »

Apache2 i proftpd mają User:Group na www-data.

Po wrzuceniu pliku na serwer, plik ma User:group jakisuser z atrybutem 644.
Mogę wtedy ten plik dowolnie zmieniać itp.

Ale natomiast gdy chcę zobaczyć stronę występuje błąd:
[function.fopen]: failed to open stream: Permission denied
Robię chown na www-data i jest w porządku ale znowu na ftp nie mogę zmienić tego pliku ani skasować itp. To wtedy zamieniam chown na jakisuser i tak w kółko, jak nie mogę pierwszego to drugiego nie mogę.

Może gdzieś jest napisane jak założyć jakiś serwer z jakimś ftp z dostępem na ten sam katalog albo coś podobnego?
Awatar użytkownika
lis6502
Member
Posty: 1798
Rejestracja: 05 listopada 2008, 20:14
Lokalizacja: Miasto Szybowców

Post autor: lis6502 »

z atrybutem 644.
czepiam się, ale nie możesz napisać
-rw-r--r--
?
Apache2 i proftpd mają User:Group na www-data. (...)
Robię chown na www-data i jest w porządku ale znowu na ftp nie mogę zmienić tego pliku ani skasować itp. To wtedy zamieniam chown na jakisuser i tak w kółko, jak nie mogę pierwszego to drugiego nie mogę.
Jedno wyklucza drugie. Jeśli i apacz i proftpd korzystają z tego samego użytkownika to nie ma opcji żeby się kłóciły. no chyba że to co wrzucisz przez ftp'a ma attrubuty (po Twojemu) 000 i dopiero root może te uprawnienia zmienić.
Jaki umask jest dla użytkowników?
ciekawy temat
ODPOWIEDZ