117 votes

Linux, Pourquoi ne puis-je pas écrire, même si j'ai les autorisations de groupe?

Je veux créer un fichier dans un répertoire détenues par le personnel du groupe dont je suis membre. Pourquoi ne puis-je pas le faire?

bmccann@bmccann-htpc:~$ ls -l /usr/local/lib/R/
total 4
drwxrwsr-x 2 root staff 4096 2010-07-31 16:21 site-library
bmccann@bmccann-htpc:~$ id -nG bmccann
bmccann adm dialout cdrom plugdev staff lpadmin admin sambashare
bmccann@bmccann-htpc:~$ touch /usr/local/lib/R/site-library/tmp
touch: cannot touch `/usr/local/lib/R/site-library/tmp': Permission denied

213voto

Adam Points 2285

Ne vous déconnectez puis reconnectez-vous après avoir fait les changements de groupe? Voir:
Super Utilisateur réponse impliquant le contact des autorisations d'échec

15voto

Eric Leschinski Points 14289

Pourquoi ne peut-Linux utilisateur de modifier des fichiers dans le groupe, il est une partie de?

J'utilise Ubuntu 12.04 et avait le même problème où un utilisateur ne peut pas écrire dans un fichier, à qui il est permis l'accès au groupe. Par exemple:

whoami                                        //I am user el
  el                                            

touch /foobar/test_file                       //make a new file

sudo chown root:www-data /foobar/test_file    //User=root  group=www-data

sudo chmod 474 /foobar/test_file              //owner and others get only read, 
                                              //group gets rwx


sudo groupadd www-data                        //create group called www-data    

groups                                        //take a look at the groups and see
 www-data                                     //www-data exists.

groups el                                     //see that el is part of www-data
  el : www-data                               

Redémarrez le terminal maintenant pour s'assurer que les utilisateurs et des groupes ont pris effet. Connectez-vous comme el.

vi /foobar/test_file                          //try to edit the file.

Produit de l'Avertissement:

Warning: W10: Warning: Changing a readonly file"

Quoi? J'ai tout fait correctement, pourquoi ne pas travailler?

Réponse:

Faire un redémarrage de l'ordinateur. L'arrêt du terminal n'est pas suffisante pour résoudre ces problèmes.

Je pense que ce qui se passe apache2 utilise également le groupe www-data, donc, la tâche a été en quelque sorte ce qui empêche les utilisateurs et les groupes d'être appliquée correctement. Non seulement vous devez vous déconnecter, mais vous devez vous arrêter et de redémarrer tous les services que l'utilisation de votre groupe. Si le redémarrage ne fonctionne pas, vous avez plus de problèmes.

12voto

techtonik Points 2945

L'utilisation de Linux ACL (listes de contrôle d'accès) - il est plus fine de la version du système d'autorisation,

setfacl -R -m 'group:staff:rwx' -m 'd:group:staff:rwx' /usr/local/lib/R/

Cela définit à la fois active des droits pour le répertoire et les droits par défaut pour tout ce qui a créé dans les.

Cela ne fonctionne pas sans se reconnecter si vous venez d'ajouter vous-même à l' staff groupe, mais vous pouvez définir l'autorisation uniquement pour vous-même pour la session en cours.

5voto

Kolyunya Points 1712

J'ai eu un problème quand un utilisateur ne peut pas accéder à l' /foo/bar/baz annuaire de même quand il avait les autorisations, car il ne dispose pas d'un accès à l' bar répertoire.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X