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 ?
, ...) 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.
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.