2011-05-09 08:44:23 +0000 2011-05-09 08:44:23 +0000
81
81

Nadaj uprawnienia do zapisu wielu użytkownikom w folderze w Ubuntu

Istnieje folder, który jest własnością użytkownika tomcat6:

drwxr-xr-x 2 tomcat6 tomcat6 69632 2011-05-06 03:43 document

Chcę zezwolić innemu użytkownikowi (użytkownikowi) na zapis uprawnień w folderze dokumentów. Ci dwaj użytkownicy (tomcat6 i ruser) nie należą do tej samej grupy. Próbowałem użyć setfacl:

sudo setfacl -m u:ruser:rwx document

ale to daje mi błąd setfacl: document: Operation not supported. Uprzejmie proszę mi pomóc.

Odpowiedzi (2)

151
151
151
2011-05-09 10:06:57 +0000

Są dwa sposoby, aby to zrobić: ustawić katalog na “world” z możliwością zapisu lub stworzyć nową grupę dla dwóch użytkowników i sprawić, że katalog będzie z możliwością zapisu do tej grupy.

Oczywiście, że zrobienie go z możliwością zapisu do świata jest złe, więc druga opcja jest lepsza.

Użytkownicy w Linuksie mogą należeć do więcej niż jednej grupy. W tym przypadku chcesz stworzyć nową grupę, nazwijmy ją tomandruser:

sudo groupadd tomandruser

Teraz, gdy grupa istnieje, dodaj do niej dwóch użytkowników:

sudo usermod -a -G tomandruser tomcat6
sudo usermod -a -G tomandruser ruser

Teraz pozostaje tylko ustawić uprawnienia w katalogu:

sudo chgrp -R tomandruser /path/to/the/directory
sudo chmod -R 770 /path/to/the/directory

Teraz tylko członkowie grupy tomandruser mogą czytać, pisać lub wykonywać cokolwiek w katalogu. Zwróć uwagę na argument -R dla poleceń chmod i chgrp: to mówi im, aby powtarzały się w każdym podkatalogu katalogu docelowego i modyfikowały każdy znaleziony plik i katalog.

Możesz również zmienić 770 na coś w rodzaju 774, jeśli chcesz, aby inni mogli czytać pliki, 775, jeśli chcesz, aby inni czytali i wykonywali pliki itp. Zmiany przypisania do grupy nie zaczną obowiązywać dopóki użytkownicy nie wylogują się i nie powrócą.

Jeśli również chcesz (prawdopodobnie chcesz), aby nowe pliki utworzone wewnątrz katalogu przez jednego z użytkowników były automatycznie zapisywane przez innych w grupie, zobacz tutaj .

3
3
3
2018-07-23 14:26:48 +0000

Przykładowy skrypt pokazuje przykład nadania uprawnień w (write)/ r (read) / x (execute) do danej ścieżki katalogu /path/to/the/directory dla USER1 i USER2. Jeśli chcesz nadać dostęp tylko dla zapisu, zamień rwx na w.

  • *
#!/bin/bash

# Block others and people in the same group to do read/write/execute on give folder:    
sudo chmod 700 /path/to/the/directory 

#Give read/write/execute access to USER1 on give folder:
sudo setfacl -R -m user:USER1:rwx /path/to/the/directory 

#Give read/write/execute access to USER2 on give folder:
sudo setfacl -R -m user:USER2:rwx /path/to/the/directory