Nowe posty

Autor Wątek: Uprawnienia do plików i katalogów  (Przeczytany 5677 razy)

Walian

  • Gość
Uprawnienia do plików i katalogów
« dnia: 2011-06-07, 12:24:04 »
Mamy w pracy następujący problem:

Mamy dwóch użytkowników - apache i powiedzmy "uzytkownik". Wiadomo - apache jest od skryptów, "uzytkownik" od FTP. I albo jest tak, że nie możemy usunąć pliku z poziomu FTP ("Operation not permitted") albo odwrotnie - z poziomu skryptu.

Jak zrobić by oba konta mogły w danej domenie tworzyć pliki i katalogi, zmieniać im uprawnienia oraz usuwać je zarówno z poziomu skryptu jak i FTP?

Próbowałem dodać obu użytkowników wzajemnie do ich grup ("na krzyż") ale to niczego nie zmieniło.

kleer94

  • Gość
Uprawnienia do plików i katalogów
« Odpowiedź #1 dnia: 2011-06-07, 15:27:19 »
Daj chmod 777 dla tego folderu.
Najlepiej jakbyś dał dodatkowo prawo do odczytywania wszystkim dla wszystkich katalogów po drodze.

Walian

  • Gość
Uprawnienia do plików i katalogów
« Odpowiedź #2 dnia: 2011-06-07, 15:33:54 »
Kolega mówi, że nie może zmienić uprawnień chmodem z poziomu skryptu, ale z poziomu FTP już tak. Moglibyśmy robić to CRON-em, ale to trochę od dupy strony - chcemy, żeby to działało automatycznie.

"Najlepiej jakbyś dał dodatkowo prawo do odczytywania wszystkim dla wszystkich katalogów po drodze."
Jeśli masz na myśli chmod to patrz wyżej.

kleer94

  • Gość
Uprawnienia do plików i katalogów
« Odpowiedź #3 dnia: 2011-06-07, 16:38:20 »
Jeżeli skrypt tworzy pliki na serwerze to niech zaraz po stworzeniu daje chmod 777.
W końcu uprawnienia może zmieniać ten użytkownik, który stworzył plik/katalog.
Jeśli plik jest natomiast wrzucany przez ftp to niech zaraz po wrzuceniu będzie zmieniany chmod na 777 przez osobę,skrypt lub program wrzucający.

Ksanderon

  • Gość
Uprawnienia do plików i katalogów
« Odpowiedź #4 dnia: 2011-06-08, 11:22:11 »
daj użytkownika ftp i apache do jednej grupy(i tylko tych użytkowników) i ustaw w ftp i apache, aby utworzona grupa miała pełne prawa do pliku reszcie obetnij prawa do zera czyli 660.

 jak będziesz chciał mieć więcej użytkowników ftp, którzy jednocześnie nie mają widzieć i móc modyfikować wzajemnie swoich dokumentów dla każdego tworzysz osobną grupę i dodajesz do niej apache.

jeśli kilku użytkowników ma mieć dostęp wzajemnie do wszystkich swoich plików dodajesz ich do wspólnej grupy.

co więcej, jeśli jakiś użytkownik (np. moderator) ma mieć dostęp do plików należących do kilku grup wystarczy, że go do nich dodasz.

Pole do popisu jest więc spore!

@takie ustawianie 777 to niezbyt ładnie wygląda i jest niebezpieczne szczególnie jeśli masz jakiegokolwiek użytkownika bez uprawnień np. guest lub jakiś inny anonymous.

@co do automatycznych ustawień praw dostępu istnieje coś takiego jak umask- nie trzeba wtedy robić chmod- pliki automatycznie mają nadawaną maskę. Działa to odwrotnie niż chmod bo nie dodaje uprawnienia tylko odejmuje od maxa czyli powinieneś ustawić umask 006 co da 660 i będzie nadawane jako domyślne dla nowych plików. takie coś ustawiasz w apache i w proftpd( istnieje też odpowiedni wpis w configu do tego samego- Umask).

Walian

  • Gość
Uprawnienia do plików i katalogów
« Odpowiedź #5 dnia: 2011-06-09, 11:38:04 »
Tylko jak to jest z umask - czy to działa globalnie czy można to przypisać pod użytkownika lub drzewko katalogów?
Nie chcę naruszyć struktury innych serwisów jakie mamy na maszynie.

Z grupami jeszcze pokombinuję.

Ksanderon

  • Gość
Uprawnienia do plików i katalogów
« Odpowiedź #6 dnia: 2011-06-09, 12:14:30 »
umask ustawia maskę jaką będą domyślnie używać programy użytkownika- nie zmienia aktualnych uprawnień, czyli jak pod użytkownikiem janek zrobisz coś takiego: echo "tresc" > plik to utworzony plik będzie miał takie uprawenienia jakie są ustawione w umask.

taki example:

ksn@ksn:~$ mkdir katalog
ksn@ksn:~$ cd katalog
ksn@ksn:~/katalog$ echo "tresc">plik
ksn@ksn:~/katalog$ ls -l
razem 4
-rw-r--r-- 1 ksn ksn 6 2011-06-09 12:03 plik
ksn@ksn:~/katalog$ umask 006
ksn@ksn:~/katalog$ echo "tresc">plik2
ksn@ksn:~/katalog$ echo "tresc">plik3
ksn@ksn:~/katalog$ echo "tresc">plik4
ksn@ksn:~/katalog$ ls -l
razem 16
-rw-r--r-- 1 ksn ksn 6 2011-06-09 12:03 plik
-rw-rw---- 1 ksn ksn 6 2011-06-09 12:04 plik2
-rw-rw---- 1 ksn ksn 6 2011-06-09 12:04 plik3
-rw-rw---- 1 ksn ksn 6 2011-06-09 12:04 plik4
jak widać na listingu początkowo było: -rw-r--r--  jako domyślne później(po użyciu umask 006) -rw-rw---- i do kolejnej zmiany umask takie ustawienie będzie zawsze stosowane jako domyślne przez użytkownika ksn- jak widać zmiana umask nijak nie wpłynęła za to na pliki wcześniej utworzone.Można więc zdefiniować sobie dla każdego usera inna domyślną maskę- należy jednak pamiętać, że są programy które to olewają i stosują własne maski np. gcc (trudno aby poprawnie skompilowane programy nie miały ustawionego bitu wykonywania)

aby powrócić do domyślnego na moim koncie(aby było tak jak dawniej) użyję więc umask 022.