Comment mettre des commentaires dans mon fichier / etc / shadow?

10

Je suis en train de passer par quelques mises à niveau du système et mon gestionnaire de paquets montre des changements entre le / etc / shadow en amont et le mien.

Je voudrais mettre quelques commentaires dans le dossier pour la prochaine fois que cela se produit. Comment pourrais-je accomplir en mettant des commentaires dans le fichier / etc / shadow sans casser les choses.

Je pense que "#" par défaut le ferait probablement, mais si je me trompe, le redémarrage ne sera pas aussi agréable.

DarkSheep
la source
Utilisez etckeeper et enregistrez vos commentaires dans des messages de validation.
Gilles 'SO- arrête d'être méchant'

Réponses:

14

Sur les systèmes Linux utilisant GNU libc, les lignes commençant par #sont ignorées dans /etc/shadow. L'analyse est effectuée par __fgetspent_r()et son code source gère explicitement (et documente) ce comportement.

Donc, la grande majorité des systèmes Linux , vous pouvez commenter lignes /etc/shadowavec #sans causer de problèmes.

Malheureusement, les commentaires sont supprimés lors de la /etc/shadowmise à jour, par exemple par passwd; donc le stockage des commentaires n'est pas réellement sûr (du point de vue des commentaires).

Cela signifie que vous devez trouver un autre endroit pour stocker vos commentaires: deux bonnes suggestions sont l' idée d'utiliser dr01 , ou mieux encore l' idée de Gilles d'utiliser des messages de validation avec etckeeper ./etc/shadow.README

Stephen Kitt
la source
À peu près toute entrée invalide semble se perdre avec passwd. J'ai essayé d'utiliser une fausse entrée d'utilisateur ou une entrée valide et d'ajouter des caractères à l'entrée finale, mais en vain.
Otheus
7

Chaque ligne de /etc/shadowest considérée comme un enregistrement utilisateur. Comme écrit par Stephen Kitt qui a examiné le code source de l'analyseur, vous pouvez mettre des lignes commençant par #comme commentaires dans le fichier ou même des lignes vides et elles seront ignorées.

Cependant, je n'ai jamais vu un /etc/shadowfichier avec des commentaires à ce sujet. Il semble que ce ne soit pas une pratique courante, et pour une très bonne raison: le modifier à la main est fortement déconseillé . Pour cette raison, je vous suggère plutôt de créer un /etc/shadow.READMEfichier à la place pour stocker vos commentaires. N'oubliez pas chmod 000le fichier pour éviter que les utilisateurs non root ne le fouinent.

dr_
la source
Alors pourquoi 000? Possédé par root:rootet alors ug=r,o=pas assez?
0xC0000022L du
000 sont les autorisations de /etc/shadow(au moins sur Red Hat, je n'ai pas regardé dans d'autres distributions) et garantissent que seul root a accès au fichier. 440, comme vous le suggérez, rendez le fichier lisible par un utilisateur régulier s'il rejoint par erreur le groupe racine. Sur une machine correctement administrée et à toutes fins pratiques, ils valent la même chose. Je pense que 000 transmet mieux une signification de «fichier critique pour la sécurité - gardez les mains sur vous», mais c'est juste mon opinion.
dr_
@ dr01: je ne sais pas comment un utilisateur normal se joindrait au groupe racine sans qu'un superutilisateur le fasse. Et si un superutilisateur fait une telle erreur, tous les paris sont désactivés. Il y a par exemple de bonnes chances que cette personne soit déjà sudoer et puisse accéder au fichier malgré tout. Je le considère comme une sécurité par l'obscurité, mais YMMV.
0xC0000022L
C'est exactement ce que je voulais dire par "un utilisateur régulier rejoint par erreur le groupe racine". Mon cas est qu'un superutilisateur pourrait (bien que les chances soient minces) le mettre dans le groupe racine par erreur. Alors qu'une autorisation 000 permettra uniquement à root d'accéder au fichier. Je reconnais que c'est probablement un cas de bord, mais je considère que c'est beaucoup plus propre aussi, car le fichier de commentaires finit par avoir les mêmes autorisations que /etc/shadow.
dr_
3

Bien sûr, vous avez apporté des modifications à votre /etc/shadow. Vous ne voulez pas que les informations de compte /etc/shadowsur votre serveur - mots de passe hachés, expirations de compte, etc. - soient une copie octet par octet de l'amont /etc/shadow.

Et j'espère que vous n'écrasez pas votre courant /etc/shadowavec tout ce que vous obtenez de votre source de données en amont.

Andrew Henle
la source