Witam. Potrzebuję skrypt, który będzie automatycznie ustawiał chmody plików i katalogów na wartość 777. Ma on działać tak, że jak utworzę nowy plik, to on dzięki skryptowi ma dostać od razu uprawnienia 777. Niestety jestem słaby w pisaniu skryptów dla Linuksa, więc prosiłbym najlepiej o gotowca i wytłumaczenie jak on działa. System to Debian 6.0
#!/bin/sh
while [ 0 ]; do
for i in *; do
chmod 777 $i
done
done
Skrypt działa w nieskończonej pętli (przynajmniej dopóki nie zakończysz działania skryptu) i na bieżąco zmienia uprawnienia wszystkim plikom w bieżącym katalogu, jeśli pojawi się nowy plik, jego uprawnienia również będą zmienione. Można ewentualnie napisać skrypt, który będzie wyszukiwał nowo utworzonych plików i zmieniał uprawnienia.
Hmmm a nie jest czasami tak że plik w danym katalogu dziedziczy uprawienia po nim? Wtedy nie było by sensu tworzyć skryptu do tego, wystarczyło by zrobić raz:
Na jednym dysku mam postawione NFS i Samba. Gdy utworzę folder pod NFS, domyślnie ma on uprawnienia 755. Ok. Teraz gdy wejdę na Sambę i chce usnąć ten folder, to wywali komunikat, że nie ma do niego uprawnień. Jak wbiję na serwer i zmienię mu chmody na 777, już ten problem nie występuje. I po to jest mi ten skrypt potrzebny.
Może gdzieś w NFS zmienia się domyślne uprawnienia ?
chmod 777 - czyli każdemu wolno wszystko. Tak robią początkujący Linuksiarze a potem płaczą, że coś się popsuło.
Polecam przyjrzeć się tematyce umask a nie jakieś skrypty jakie zapodał roobal. Twój skrypt może bardzo ładnie zawiesić serwer i zmieni uprawnienia tylko w bieżącym katalogu.
Tylko, że taki skrypt ma ogromne ograniczenia. Może się wyłożyć przy katalogu który ma dużą ilość plików. Powinien działać z roota, jeżeli pliki tworzą inni użytkownicy etc. umask i już