Il existe un dossier appartenant à l'utilisateur Tomcat6:
drwxr-xr-x 2 Tomcat6 Tomcat6 69632 2011-05-06 03:43 document
Je veux autoriser un autre utilisateur (ruser) à écrire des autorisations sur le dossier du document. 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 gentiment.
Il existe deux façons de procéder: définissez le répertoire sur "monde" en écriture ou créez un nouveau groupe pour les deux utilisateurs et créez le répertoire en écriture pour ce groupe.
De toute évidence, rendre le monde accessible en écriture est une mauvaise chose, alors la deuxième option est préférable.
Les utilisateurs de Linux peuvent appartenir à plusieurs groupes. Dans ce cas, vous voulez créer un 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, tout ce qui reste à faire est de définir les autorisations sur le répertoire:
Sudo chgrp -R tomandruser /path/to/the/directory
Sudo chmod -R 770 /path/to/the/directory
Désormais, seuls les membres du groupe tomandruser peuvent lire, écrire ou exécuter quoi que ce soit dans le répertoire. Notez l'argument -R dans les commandes chmod et chgrp: cela leur dit de rentrer dans chaque sous-répertoire du répertoire cible et de modifier tous les fichiers et répertoires qu'il trouve.
Vous voudrez peut-être aussi changer 770 en quelque chose comme 774
si vous voulez que les autres puissent lire les fichiers, 775
si vous voulez que les autres lisent et exécutent les fichiers, etc. Les modifications d'attribution de groupe ne prendront effet que si les utilisateurs se déconnectent. et retour dans.
Si vous souhaitez également (vous le souhaitez probablement) que les nouveaux fichiers créés dans le répertoire par l'un des utilisateurs soient automatiquement inscriptibles par les autres membres du groupe, puis consultez ici .
L'exemple de script montre un exemple pour donner l'autorisation w (write)/ r (read) / x (execute)
au chemin de dossier donné /path/to/the/directory
pour USER1
et USER2
. Si vous voulez 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