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


Je veux créer un fichier dans un répertoire appartenant au groupe de membres dont je suis membre. Pourquoi je ne peux pas faire ça?

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

89
2018-02-20 02:31


origine


Réponses:


Vous êtes-vous déconnecté et reconnecté après avoir modifié le groupe? Voir:
Réponse de super utilisateur impliquant l'échec des autorisations tactiles


171
2018-02-20 02:49



Pourquoi l'utilisateur Linux ne peut-il pas éditer des fichiers dans un groupe dont il fait partie?

J'utilise Ubuntu 12.04 et j'ai le même problème lorsqu'un utilisateur ne peut pas écrire sur un fichier auquel il est autorisé à accéder par 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 vous assurer que les utilisateurs et les groupes ont pris effet. Connectez-vous en tant que el.

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

Produit l'avertissement:

Warning: W10: Warning: Changing a readonly file"

Quelle? J'ai tout fait correctement, pourquoi ça ne marche pas?

Répondre:

Effectuez un redémarrage complet de l'ordinateur. Arrêter le terminal ne suffit pas pour résoudre ces problèmes.

Je pense que ce qui se passe, c'est qu'apache2 utilise également le groupe de données www, la tâche empêchant ainsi les utilisateurs et les groupes d'être correctement appliqués. Non seulement vous devez vous déconnecter, mais vous devez arrêter et redémarrer tous les services qui utilisent votre groupe. Si un redémarrage ne le comprend pas, vous avez de plus gros problèmes.


11
2017-11-18 22:57



Utilisez Linux ACL (listes de contrôle d'accès) - il s'agit d'une version plus fine du système d'autorisation,

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

Cela définit les droits actifs pour le répertoire et les droits par défaut pour tout élément créé à l'intérieur.

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


6
2017-09-17 17:53



J'ai eu un problème quand un utilisateur ne pouvait pas accéder au /foo/bar/baz répertoire même quand il avait des autorisations parce qu'il n'avait pas accès à la bar annuaire.


5
2018-03-27 12:37



J'ai eu le même problème, vérifiez si le dossier contient plus de règles ACL ou non!

Si vous pouvez voir + (signe plus) lorsque vous répertoriez un dossier, cela signifie qu'il a des règles d'accès spéciales. Par exemple:

[user_in_apache_group@web02 html]$ ls -l
total 16
drwxrwxr-x  16 apache apache 4096 Sep  4 13:46 ilias
drwxrwxr-x+ 15 apache apache 4096 Sep  4 13:46 ilias5

Voir la permission:

[user_in_apache_group@web02 html] getfacl ilias5
# file: ilias5
# owner: apache
# group: apache
user::rwx
user:user_in_apache_group:r-x
group::rwx
mask::rwx
other::r-x

Cela signifie donc que mon utilisateur (user_in_apache_group) n’a pas de permission d’écriture pour ce dossier.

La solution est ce que @techtonik a dit, ajouter la permission d’écriture pour l’utilisateur:

[user_in_apache_group@web02 html]$ sudo setfacl -m u:user_in_apache_group:rwx ./ilias5

Vérifiez à nouveau la permission:

[user_in_apache_group@web02 html] getfacl ilias5
...
user:user_in_apache_group:rwx
...

J'espère que cela aide. ;)


5
2017-09-04 12:18