Dans une autre réponse ici sur UNIX et Linux Stack Exchange, Michael D Parker a écrit , en réponse à quelqu'un disant que le faire était "sûr", que:
Habituellement, vous ne devez JAMAIS modifier directement le fichier / etc / shadow.
Donc:
Pourquoi ne devriez-vous jamais modifier le /etc/shadow
fichier directement?
/etc/shadow
depuis plus de 20 ans sans problème, jamais . Et s'il vous plaît soyez si poli de lire les deux minutes d' aide → tour , en particulier le "pas de distractions", "pas de bavardage". C'est la première fois que je devais lire plus de bavardages non pertinents dans une question que de lire les "détails" pertinents de la question.Réponses:
Il y a plusieurs raisons de ne pas modifier
/etc/passwd
,/etc/shadow
,/etc/group
,/etc/gshadow
ou/etc/sudoers
directement, mais plutôt d' utiliservipw
,vigr
ouvisudo
:passwd
,chsh
ouchfn
pour changer quelque chose à propos de son compte. Si vous utilisez l'outil approprié, il empêchera les modifications simultanées. C'est surtout une préoccupation sur les systèmes avec plusieurs utilisateurs, moins si vous êtes le seul utilisateur.vipw
met à jour plusieurs fichiers (par exemple/etc/passwd
et/etc/master.passwd
). Cela ne s'applique pas à Linux.vipw
crée automatiquement une sauvegarde (passwd-
,shadow-
, ...), ce qui est utile si vous vous rendez compte que vous avez accidentellement supprimé une ligne. Il n'est utile que si vous vous rendez compte avant la prochaine modification, donc il ne remplace pas le contrôle de version et les sauvegardes, mais il peut être très agréable si vous réalisez votre erreur assez tôt.visudo
ne fait pas ça.Vous pouvez modifier le fichier directement. Vous prendrez simplement un risque supplémentaire sans réel avantage.
la source
/etc/shadow
n'existe pas et qu'il/etc/passwd
s'agit du mauvais fichier à modifier, car il s'agit d'un fichier généré et non du fichier source. ☺Il existe essentiellement deux façons de voir les choses:
Ne modifiez jamais certains fichiers sans utiliser les outils prescrits car vous ne savez probablement pas ce que vous faites et ce n'est pas grave car lesdits outils connaissent mieux et sont toujours disponibles.
Plus réaliste, vous pourriez aussi bien le casser maintenant pendant que vous y réfléchissez afin de pouvoir planifier à l'avance avec une copie de sauvegarde et comparer les différences après cela, car des connaissances de base sur les tenants et aboutissants du
login
processus initial de base de votre système valent probablement la peine avoir pour quand vous le cassez d'une autre manière plus tard et lesdits outils ne vous aideront pas.Je suppose que vous pouvez probablement dire ce que je recommande. Je dis que si un sujet vous intéresse, même pour un moment, vous pourriez tout aussi bien capitaliser sur cette curiosité et acquérir une nouvelle compétence pendant que vous y êtes. Surtout un tel que celui-ci - le
shadow
fichier est dans un format assez basique, et le peu que j'en sais que j'ai appris après l'avoir accidentellement accidenté - et ce n'était pas le résultat d'une modification que j'ai apportée à ce fichier.Mon problème est plutôt survenu après qu'une autre erreur avec une base de données de gestion de packages a conduit le gestionnaire de packages à l'écraser sans enregistrer de sauvegarde et tous les utilisateurs du système ont été rendus kaput . De nouvelles tentatives de réparations ignorantes ne faisaient que propager les dégâts aux autres fichiers associés et il ne m'a pas fallu longtemps pour restaurer la majorité des
/etc
fichiers texte à partir d'une sauvegarde (moins récente que prévu) .Une fois que je l'avais fait et vérifié que je l'avais en état de marche, j'ai décidé de tout recommencer délibérément et méticuleusement. Et encore une fois. C'était il y a quelques mois, mais aujourd'hui je reste confiant que je peux diagnostiquer la source d'un
login
problème avec une fois un fichier journal unique sur mon système et le résoudre avec n'importe quel éditeur de base (et peut-être, un coup d'œil ou deux atman 5 problem_file
) ne fournissaient qu'un accès de base aux root fs affectés. Cela n'a pas été gagné à bon marché - cela m'a pris la plupart du temps - et les fichiers de configuration associés sont répartis dans tout le répertoire (et même certains - tels que Linux PAM/var/run/no_login
- sur d'autres supports) - mais cela en valait la peine. Et cela aurait pu être moins cher avec un peu de prévoyance.La morale de cette histoire est qu'il est probablement pas une bonne chose que le format de configs mission-critiques comme
shadow
,passwd
,groups
,shells
devrait être si nous opaque que nous devons employer des outils d'édition spéciales qui peuvent ou peuvent ne pas corriger notre travail de manière et pour des raisons que nous ne comprenons pas simplement pour effectuer un simple changement. Au moins, je pense, cela vaut la peine de comprendre exactement ce qu'ils feraient différemment de nous.Il probablement est une bonne chose, cependant, qu'une fois que nous devenons assez familiers avec l' édition dit des fichiers que nous courons le risque de faire en leur sein et sauver par la suite les erreurs de syntaxe typographiques ou simples qu'il existe des outils à notre disposition qui peut Revérifiez notre travail de manières et pour des raisons que nous comprenons déjà avant d'appliquer nos modifications blase.
la source
Contrepoint - si vous aviez besoin de copier un ensemble de connexions utilisateur d'un serveur à un autre, sans connaître leurs mots de passe actuels ou leur en attribuer de nouveaux, alors vous auriez besoin de modifier / etc / shadow directement pour insérer le champ de mot de passe haché. vipw ne vous laisse pas toucher ce champ, c'est juste "*"
Mise à jour: ou dans ce cas, utilisez chpasswd -e "mot de passe haché", mais cela ne peut être fait que sur l'ordinateur directement. Si vous travaillez avec un ensemble de fichiers qui n'ont pas encore été déployés sur une machine (par exemple, une machine virtuelle), la modification directe peut être votre seule solution.
c'est-à-dire qu'il y a généralement un outil pour faire ce que vous voulez faire sans éditer directement / etc / shadow, il vous suffit de savoir de quoi il s'agit ...
la source
Une autre raison pour laquelle vous devez modifier ces fichiers est si vous modifiez les fichiers dans une image de système de fichiers que vous démarrerez sur un autre système et que vous devrez déboguer ce système après le démarrage. Par exemple, le système de fichiers épherémal MAAS utilisé sur une mise en service défaillante ou en mode de secours.
Ne dis jamais jamais ... sauf si tu le penses.
la source