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

Donner les droits d'écriture à plusieurs utilisateurs sur un dossier dans Ubuntu

Il y a un dossier qui appartient à l'utilisateur tomcat6 :

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

Je veux autoriser un autre utilisateur (ruser) à écrire sur le dossier de documents. Les deux utilisateurs (tomcat6 et ruser) n'appartiennent pas au même groupe. J'ai essayé d'utiliser setfacl :

sudo setfacl -m u:ruser:rwx document

mais cela me donne l'erreur setfacl: document: Operation not supported. Aidez-moi, s'il vous plaît.

Réponses (2)

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

Il y a deux façons de le faire : mettre le répertoire en écriture “mondiale” ou créer un nouveau groupe pour les deux utilisateurs et rendre le répertoire inscriptible dans ce groupe.

De toute évidence, rendre le répertoire inscriptible dans le monde entier est une mauvaise chose, la deuxième option est donc préférable.

Les utilisateurs de Linux peuvent appartenir à plus d'un groupe. Dans ce cas, vous voulez créer un tout nouveau groupe, appelons-le tomandruser :

sudo groupadd tomandruser

Maintenant que le groupe existe, ajoutez-y les deux utilisateurs :

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

Maintenant, il ne reste plus qu'à définir les permissions sur le répertoire :

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

Maintenant, seuls les membres du groupe tomandruser peuvent lire, écrire ou exécuter quoi que ce soit dans le répertoire. Notez l'argument -R aux commandes chmod et chgrp : cela leur dit de se récurer dans chaque sous-répertoire du répertoire cible et de modifier chaque fichier et répertoire qu'ils trouvent.

Vous pouvez aussi changer 770 en quelque chose comme 774 si vous voulez que d'autres puissent lire les fichiers, 775 si vous voulez que d'autres puissent lire et exécuter les fichiers, etc. Les changements d'affectation de groupe ne prendront pas effet tant que les utilisateurs ne se déconnecteront pas et ne reviendront pas.

Si vous voulez également (et c'est probablement le cas) que les nouveaux fichiers créés dans le répertoire par un des utilisateurs soient automatiquement accessibles en écriture par les autres membres du groupe, alors voir ici .

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

Le script d'exemple montre un exemple pour donner à w (write)/ r (read) / x (execute) la permission de donner le chemin d'accès au dossier /path/to/the/directory pour USER1 et USER2. Si vous souhaitez donner uniquement un accès en écriture, veuillez remplacer rwx par 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