Strona 1 z 1
apache2, proftpd i chown dla róznych uŻytkowników
: 07 stycznia 2009, 15:55
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?
: 07 stycznia 2009, 16:31
autor: lis6502
Metoda nr:1
Metoda nr:2
Kod: Zaznacz cały
adduser jakisuser www-data
chmod g+rw /car/www -R
: 07 stycznia 2009, 19:04
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ę.
: 07 stycznia 2009, 19:12
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.
: 07 stycznia 2009, 20:04
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.
: 07 stycznia 2009, 20:32
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ś?
: 07 stycznia 2009, 20:58
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ę:
Po zakończeniu sesjii ftp wpisuję to co poniżej, gdy chcę aby strona nie wyrzucała błędów
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.
: 07 stycznia 2009, 21:13
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.
: 07 stycznia 2009, 22:18
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?
: 07 stycznia 2009, 22:42
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