Muszę pozwolić członkom grupy „ftpusers” na zmianę uprawnień do wszystkich obiektów w określonym katalogu. Zastanawiałem się, jak to zrobić, ale wszystko, co znalazłem, to jak to zrobić na BSD:
chmod + „ftpgroup pozwalają na bezpieczeństwo zapisu” / some / dir
Potrzebuję dokładnie tego samego, ale dla Debian / GNU.
Dzięki
Odpowiedzi:
Tylko właściciel pliku lub katalogu głównego może zmieniać uprawnienia w systemie Linux (dostęp do zapisu! = Dostęp do zmiany uprawnień)
Jedyny sposób, w jaki mogę myśleć, to używanie sudo. Nie wiem, czy to załatwi sprawę, a ja byłbym bardzo ostrożny w określaniu reguł sudo, aby użytkownicy nie mieli żadnych dodatkowych uprawnień.
Zauważ, że jeśli łączą się za pomocą serwera FTP, sudo prawdopodobnie nie będzie odpowiedzią.
źródło
Po prostu daj „ftpusers” uprawnienia do zapisu i prawa własności do tego katalogu:
A następnie ustaw bit GID, aby wszystkie nowe pliki dziedziczyły własność grupy:
źródło
Jednym z rozwiązań (z którego musiałem skorzystać) jest zadanie cron przechodzące i zmieniające uprawnienia do określonego katalogu i plików w nim zawartych. Nie ładnie, ale działa.
Jeśli chcesz rozszerzyć możliwość zmiany tego przez użytkowników, możesz rozważyć zezwolenie użytkownikom z ftpgroup na zezwalanie chmod w określonym katalogu za pomocą odpowiedniej reguły przy użyciu sudo.
Lub możesz wykonać skrypt powłoki, który wykonuje odpowiednie kontrole i wykonuje funkcję, i pozwala programowi na uruchamianie przez sudo. Nie sugeruję ani nie polecam skryptu powłoki set-uid.
źródło