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

Geef schrijfrechten aan meerdere gebruikers op een map in Ubuntu

Er is een map die eigendom is van gebruiker tomcat6:

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

Ik wil een andere gebruiker (ruser) schrijfrechten toestaan op een documentmap. De twee gebruikers (tomcat6 en ruser) behoren niet tot dezelfde groep. Ik heb geprobeerd setfacl te gebruiken:

sudo setfacl -m u:ruser:rwx document

maar dit geeft me setfacl: document: Operation not supported fout. Help me even.

Antwoorden (2)

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

Er zijn twee manieren om dit te doen: zet de directory op “wereld” beschrijfbaar of maak een nieuwe groep aan voor de twee gebruikers en maak de directory beschrijfbaar voor die groep.

Het is duidelijk dat het wereld beschrijfbaar maken een slechte zaak is, dus de tweede optie heeft de voorkeur.

Gebruikers in Linux kunnen tot meer dan één groep behoren. In dit geval wil je een gloednieuwe groep maken, laten we het tomandruser noemen:

sudo groupadd tomandruser

Nu de groep bestaat, voeg je de twee gebruikers toe:

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

Nu is het enige wat overblijft het instellen van de permissies op de directory:

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

Nu kunnen alleen leden van de tomandruser groep alles lezen, schrijven of uitvoeren binnen de directory. Let op het -R argument bij de chmod en chgrp commando’s: dit vertelt hen om in elke subdirectory van de doeldirectory te recurseren en elk bestand en elke map die het vindt te wijzigen.

Je kunt ook 770 wijzigen in iets als 774 als je wilt dat anderen de bestanden kunnen lezen, 775 als je wilt dat anderen de bestanden kunnen lezen en uitvoeren, etc. Wijzigingen in de groepstoewijzing worden pas van kracht als de gebruikers uitloggen en weer inloggen.

Als u ook wilt (waarschijnlijk wel) dat nieuwe bestanden die door een van de gebruikers in de map zijn gemaakt, automatisch door anderen in de groep kunnen worden geschreven, zie dan hier .

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

Voorbeeld script toont een voorbeeld om w (write)/ r (read) / x (execute) toestemming te geven aan het gegeven map pad /path/to/the/directory voor USER1 en USER2. Als je alleen schrijftoegang wilt geven vervang dan rwx door 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