Nie chcę, aby udostępniony folder był dostępny dla każdego w systemie, chcę, aby był on dostępny tylko dla ograniczonego zestawu użytkowników.
Jak to zrobić?
źródło
Nie chcę, aby udostępniony folder był dostępny dla każdego w systemie, chcę, aby był on dostępny tylko dla ograniczonego zestawu użytkowników.
Jak to zrobić?
Zaczerpnięte z tego doskonałego postu na forach Ubuntu autorstwa Morbius1.
Klasyczny sposób Linux na robienie tego typu rzeczy wygląda mniej więcej tak:
Utwórz folder współdzielony:
sudo mkdir /home/Shared
Utwórz grupę nowego użytkownika:
sudo addgroup newgroup
Zmień własność folderu współdzielonego na nową grupę:
sudo chown :newgroup /home/Shared
Dodaj żądanych użytkowników do tej grupy:
sudo adduser user1 newgroup
Powtórz dla wszystkich użytkowników.
Teraz musisz podjąć kilka decyzji dotyczących tego, co chcesz, aby ci użytkownicy mogli robić:
[a] Wszyscy użytkownicy grupy mogą dodawać i usuwać z folderu oraz mogą odczytywać, ale nie zapisywać do siebie:
sudo chmod 0770 /home/Shared
[b] Tak jak powyżej, ale tylko właściciel pliku może go usunąć:
sudo chmod 1770 /home/Shared
[c] Wszyscy użytkownicy grupy mogą dodawać i usuwać z folderu oraz mogą odczytywać i zapisywać pliki:
sudo chmod 2770 /home/Shared
[d] To samo co [c], tyle że tylko właściciel pliku może go usunąć:
sudo chmod 3770 /home/Shared
1
W pierwszym położeniu chmod jest bit lepkości co uniemożliwia usunięcie pliku do kogoś innego niż jego właściciel.
2
W pierwszej pozycji polecenia chmod jest setgid nieco który zmusza wszystkich nowych lub skopiowane pliki mieć grupę tego folderu.
3
W pierwszym położeniu chmod jest połączenie lepkiej ( 1
) (i setgid +2
) bitów.
Jest jedno zastrzeżenie, jeśli chodzi o bit setgid. Wszystkie nowe pliki utworzone i wszystkie pliki skopiowane do tego folderu w rzeczywistości odziedziczą grupę folderu. Ale nie pliki zostały przeniesione do tego folderu. Przeniesione pliki zachowują własność z dowolnego miejsca, z którego zostały przeniesione. Jednym ze sposobów na obejście tego problemu jest użycie bindfs.
Na koniec, jeśli chcesz, aby inni spoza grupy mogli widzieć pliki, ale ich nie zmieniać, zmień końcowe 0 w chmod
poleceniu na 5, np .:
sudo chmod 0775 /home/Shared