Quel est le but de `/ etc / group-`

15

Sur une distribution Linux standard (par exemple Ubuntu), il y a généralement /etc/groupet /etc/group-, où la seconde est uniquement lisible par root.

man groupdécrit seulement /etc/group.

D'où ma question: quel est le but de /etc/group-?

maxschlepzig
la source

Réponses:

15

Il s'agit d'une sauvegarde de la copie précédente du fichier qui est la version du fichier avant la dernière modification. Il est conservé car il s'agit d'un fichier très important. Vous pouvez le supprimer, mais les sauvegardes sont une "bonne chose".

Vous pouvez facilement le vérifier. Essayer

# groupadd test
# diff /etc/group /etc/group-

Il existe également d'autres fichiers qui sont sauvegardés de la même manière, à savoir. /etc/passwd- /etc/shadow-.

Tous les utilitaires de gestion des utilisateurs et des groupes comme useradd, usermod, userdel, groupmod, groupdeletc. créent / mettent à jour ces fichiers de sauvegarde après une exécution réussie de la commande.

Sachin Divekar
la source
1
Ok, je suppose que ce serait une autre raison de modifier /etc/groupvia les commandes de groupe et non de le modifier directement.
maxschlepzig
@maxschlepzig, intelligent. J'ai mis à jour ma réponse pour mentionner les utilitaires de gestion des utilisateurs et des groupes.
Sachin Divekar
0

Je suis d'accord avec la réponse de @Sachin Divekar qu'il s'agit d'un "fichier de sauvegarde" mais j'avais besoin de plus d'informations sur la façon dont le fichier est créé et comment ses autorisations sont définies. Sur CentOS6, l'exécution usermodpour changer l'appartenance au groupe consistait à (re) créer / etc / group- avec les autorisations de 0644 au lieu de "uniquement lisible en tant que root" comme décrit dans la question d'origine.

usermod(et tous les autres utilitaires de gestion des utilisateurs / groupes mentionnés par @Sachin Divekar) font partie du paquet shadow-utils (j'ai trouvé les sources de shadow-4.1.5.1) et après avoir fouillé les sources, j'ai trouvé une méthode #create_backup dans commonio .c (voir sur github.com ) utilisé par tous les utilitaires utilisateur / groupe. Le fichier de sauvegarde est nommé d'après le fichier source postfixé avec un "-" (dans ce cas, '/ etc / group-'), et les autorisations du fichier de sauvegarde sont définies sur les autorisations du fichier source et éditées avec 0664 .

Cela explique pourquoi, lorsque / etc / group est chmod 0644, après avoir exécuté gpasswdou usermodpour modifier l'appartenance à un groupe local, / etc / group est créé s'il n'existe pas déjà et il est chmodded à 0644.

Chat Citron
la source