Changement systématique de groupe

Signaler
Messages postés
58
Date d'inscription
mercredi 31 mars 2004
Statut
Membre
Dernière intervention
22 février 2021
-
Messages postés
29587
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
26 février 2021
-
Bonjour,

J'ai un ensemble de fichiers qui ont été créés par un user. Le groupe d'appartenance de ce user a changé. Comment puis-je mettre à jour tous les fichiers de façon à ce que le nouveau groupe apparaisse systématiquement ?
Par exemple, j'ai le user toto qui appartient au groupe grp1
Les fichiers dont le propriétaire est toto, apparaissent de la façon suivante avec un ls -la.
-rwxr-xr-x 1 toto grp1 270 18 janv. 11:23 fic1.txt
et j'aimerais qu'ils apparaissent de la façon suivante :
-rwxr-xr-x 1 toto grp2 270 18 janv. 11:23 fic1.txt

et ceci pour tous les fichiers dont le propriétaire est toto. Est-ce possible et comment ?

Merci

3 réponses

Messages postés
29587
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
26 février 2021
7 033
Bonjour,

Il suffit que
root
ou le propriétaire de
fic1.txt
(ici
toto
) change le groupe propriétaire, par exemple à l'aide de la commande
chgrp
("change group")ou
chown
("change owner").

Exemple 1:

chgrp grp2 fic1.txt


Exemple 2:

chown toto:grp2 fic1.txt


La plupart des explorateurs de fichiers (
nautilus
,
dolphin
, ...) permettent de corriger ces droits directement, sans passer par des commandes (sous réserve que l'utilisateur qui lance l'explorateur ait des privilèges suffisant pour corriger ces droits, i.e. qu'il soit
root
ou propriétaire du fichier).

Remarque

Dans ton exemple, changer le groupe de
fic1
n'aura qu'impact limité :
  • toto
    a déjà l'ensemble des droits rwx (read write execute) ; si
    toto
    venait à les perdre, il pourrait les récupérer en tant que propriétaire)
  • root
    a toujours tous les droits (y compris celui de les changer)
  • les membres de
    grp1
    (resp.
    grp2
    ) ont, avant changement de droit, des droits r-x (read, execute)
  • les autres utilisateurs, c'est à dire ni
    toto
    , ni
    root
    , ni un membre de
    grp1
    (ou
    grp2
    ) ont aussi des droits r-x. En d'autre termes, être membre de
    grp1
    ou
    grp2
    n'offre aucun privilège et le changement de groupe n'aura donc aucun impact.


Point important concernant les changements de droits
  • De manière générale, je déconseille de changer les permissions associées à un fichier (que ce soit avec
    chown
    ,
    chmod
    ,
    chgrp
    ), à moins d'être sûr de ce qu'on fait.
    • Relâcher des droits sur un fichier en l'ouvrant à plus de profil utilisateur peut ouvrir un vulnérabilité.
  • Pour les fichiers du système : il ne faut jamais changer les droits associés à ces fichiers.
    • Les resserrer peut empêcher certains cas d'utilisation.
    • Les relâcher peut ouvrir un trou de sécurité.
    • Les droits de ces fichiers sont supposé être "les bons", pour avoir à la fois un système utilisable et sûr. Un "permission denied" ne signifie pas que les droits associés à un fichier sont trop restreint, simplement que l'utilisateur qui tente d'y accéder n'a pas assez de privlège.
  • Pour les fichiers utilisateurs (typiquement dans
    /home
    ). Si un utilisateur décide d'ouvrir certains dossiers fichiers en relâchant leurs droits, c'est à ses risques et périls.


Bonne chance
Messages postés
58
Date d'inscription
mercredi 31 mars 2004
Statut
Membre
Dernière intervention
22 février 2021
3
Bonjour et merci pour cette réponse très complète. En fait, j'ai compris mon erreur et j'ai trouvé ce qui n'allait pas : j'avais oublié la commande usermod à la fin

J'explique :
Au départ, je voulais créer un user , un groupe, puis le mettre dans ce groupe. Je voulais également que chaque fois que je crée un fichier avec ce user, le groupe soit affecté par défaut.
J'ai donc passé les commandes suivantes :

Création du user
- adduser user1
- passwd passwd1
Création du groupe
- groupadd grp1
Affectation du user au groupe
- gpasswd -a user1 grp1

J'ai fait plein de manips avec ce user, pour m'apercevoir que, à chaque fois, le fichier créé était avec le groupe du même nom que le user soit user1 :
fic1.txt user1 user1

Bien sûr, quand je me suis rendu compte que ça n'allait pas, j'ai fait des chgrp à tout va. mais ça n'empêche que, à chaque fichier créé, j'avais user1 user1 et pas user1 grp1.

Finalement, le fait de passer la commande
- usermod -g grp1 -G user1 user1

a résolu complètement mon problème.

Encore merci manimando d'avoir pris le temps d'expliquer.
Messages postés
29587
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
26 février 2021
7 033
Merci à toi pour le complément d'information :-) Bonne continuation !