Jak wymusić określone uprawnienia dla nowych plików / folderów na serwerze plików Linux?

14

Mam problem z moją instalacją Ubuntu 9.10 (serwer plików) i jego uprawnieniami do samby. Logowanie i czytanie działa dobrze. Jednak tworzenie nowych katalogów przez użytkowników ogranicza dostęp innym użytkownikom. Na przykład, jeśli Bob (użytkownik systemu Windows, który mapuje dysk) utworzy folder w katalogu, Jane (użytkownik Maca, który po prostu smb montuje) może z niego czytać, ale nie może do niego pisać - i na odwrót. Następnie muszę przejść do katalogu CHMOD 777, aby wszyscy byli szczęśliwi. Próbowałem edytować opcje „create / directory mask” i „force” w pliku smb.conf, ale to nie wydaje się pomocne.

Mam zamiar skorzystać z CRONTABinga rekurencyjnej procedury chmod, chociaż jestem pewien, że to nie jest poprawka. Jak sprawić, by wszystkie nowe przedmioty zawsze miały 777? Czy ktoś ma jakieś sugestie, aby naprawić tę ciągle występującą sytuację?

Najlepsza

humble_coder
źródło
Grupy użytkowników i inne natywne uprawnienia, nie chmod 777.
Warner

Odpowiedzi:

13

Zazwyczaj używam natywnej funkcjonalności SAMBA do zarządzania uprawnieniami i grupami na udziałach. Na przykład..

force user=user1
force group=sharedgroup
create mask=775

Określisz te ustawienia w ramach udziału. Pamiętaj o ponownym załadowaniu SAMBA po zmianie konfiguracji, co można zrobić za pomocą skryptu inicjującego.

Warner
źródło
1
Jednak post mówi, że to zrobił i to nie zadziałało ...
Mistiry
2
Potem zrobił to źle. To działa.
Warner
Nie jestem pewien, co jest grane. Próbowałem ręcznie i przez Webmin bezskutecznie. Być może mój wybór grupy jest niewłaściwy? Próbowałem używać „użytkowników”, a także różnych ręcznie utworzonych grup, z których wszystkie zostały członkami. Niezależnie od tego, co robię, użytkownicy nie mogą manipulować niczym, czego sami nie umieścili. Jedynym „rozwiązaniem” jest zalogowanie (lub zamontowanie) wszystkich użytkowników jako GOŚĆ, co powoduje zamieszanie.
humble_coder
SAMBA używa kombinacji uprawnień i ustawień systemu plików w konfiguracji. Jeśli użytkownicy nie mają write listuprawnień do pisania w konfiguracji udziału lub w inny sposób nie mogą tego robić, to nie będzie działać. Jeśli użytkownik, na którym działa SAMBA, nie może uzyskać dostępu do katalogów, nie będzie działać. Użytkownicy powinni należeć do odpowiedniej grupy, katalogi i pliki powinny być własnością tej grupy oraz mieć ustawiony bit zapisu dla tej grupy. Możesz także sprawdzić dzienniki SAMBA.
Warner
2
Długo tego szukałem! Dzięki! :) Działa zgodnie z oczekiwaniami.
NagyI
2

Ustaw uprawnienia do katalogu na 2777, w następujący sposób:

chmod 2777 /shared/dir

Powoduje to, że wszystkie pliki i foldery w katalogu „/ shared / dir” dziedziczą uprawnienia z katalogu głównego, w tym przypadku 777.

Następnie zrób to, aby upewnić się, że wszystkie pliki mają odpowiednie uprawnienia:

chmod -R 777 /shared/dir
Mistiry
źródło
Jedyną sytuacją, w której publicznie zapisywalne jest dopuszczalne, jest /tmp.
Warner
1
Tak, prawdopodobnie lepiej użyć 774 lub nawet 770, w zależności od sytuacji. Ale zapytał, jak zrobić je wszystkie „777”, więc użyłem tego w moim przykładzie.
Mistiry,
3
Tak, ale jak mogę się upewnić, że wszystkie przyszłe pliki skopiowane do tego katalogu przez sieć otrzymają takie same uprawnienia, niezależnie od ich początkowych uprawnień? Nie mam żadnych problemów, gdy robię to ręcznie, chcę po prostu zautomatyzować.
humble_coder
2
To nie działa. Flaga setgid dla folderów ustawia grupę nowych plików i folderów, a nie uprawnień, a ciągłe uruchamianie chmod jest niedopuszczalne. Potrzebuję rozwiązania niezwiązanego z sambą dla Steam w systemie Linux, aby móc udostępniać bibliotekę między użytkownikami.
Sam Watkins,
2

Zdaję sobie sprawę, że to stare pytanie, ale ostatnio miałem podobny problem i oto jak go rozwiązałem:

[dzielić]
maska ​​bezpieczeństwa = 0770
Utwórz maskę = 0770
tryb tworzenia siły = 0660
comment = Udział Samby dla IT
ścieżka = / raid / share
przeszukiwalny = TAK
gość ok = nie
zapisz listę = root, @ „DOMAIN + it_nfs”
force group = DOMAIN + it_nfs

Zapewnia to, że użytkownicy muszą należeć do grupy zabezpieczeń „it_nfs” w AD, wszystkie pliki zostaną zapisane w grupie „it_nfs”, a wszystkie pliki będą miały co najmniej 0660, a co najwyżej 0770 zezwoleń. Wymuszenie identyfikatora grupy zapewnia, że ​​każdy w tej grupie może czytać / zapisywać pliki w udziale. W przeciwnym razie mogą wystąpić sytuacje, w których plik napisany jako bob: bob nie może zostać napisany przez charlie: charlie, mimo że oba są w „it_nfs”.

Evan
źródło
0

Z komentarzy przyjętej odpowiedzi tak naprawdę nie rozwiązało problemu OP, podobnie jak inne odpowiedzi, jeśli OP miał taki sam problem jak ja:

Posiadanie udziału na partycji NTFS / FAT.

Pamiętaj o tym podczas podłączania dysku stacjonarnego do NAS w celu udostępniania albumów rodzinnych: fs montuje parametry dla użytkownika, grupy, trybów tworzenia itp. Zastępują wszystko, co jest skonfigurowane dla Samby! ;)

(Np. W moim przypadku, niezależnie od smb.confwszystkiego, co zostało utworzone przez root, z 777- zgodnie z fstab defaultsdla montażu bezpieczników NTFS ...)

Sz.
źródło