Comment éditer un fichier en tant que root?

13

Y a-t-il des considérations particulières à éditer un fichier en tant que root? Quelle est la façon la plus sûre de procéder?

strugee
la source

Réponses:

14

Évidemment, si vous savez comment exécuter une commande en tant que root , vous pouvez exécuter un éditeur. Mais ce n'est pas la méthode la plus pratique ou la plus sûre.

sudoedit(ou son synonyme sudo -e) est un mode de sudo où vous modifiez une copie temporaire d'un fichier dans votre éditeur préféré, et cette copie est déplacée en place lorsque vous avez terminé la modification.

sudoedit /etc/fstab

Remarque: il y a quelques fichiers que vous ne devez pas modifier directement.

Ne modifiez jamais /etc/sudoersdirectement. Utilisez toujours la visudocommande pour cela. Si vous faites une erreur dans la syntaxe du fichier sudoers, vous pourriez être verrouillé hors du compte root! Lorsque vous exécutez visudo, il vous permet de modifier une copie temporaire du fichier et effectue une vérification de la syntaxe avant de remplacer le fichier réel par vos modifications.

Le même principe est applicable à l'utilisateur, le groupe, le mot de passe de l' utilisateur et des bases de données de mots de passe de groupe, /etc/passwd, /etc/group, /etc/shadowet /etc/gshadow, respectivement. Sur les systèmes où ils sont disponibles, utilisez les vipw, vigrcommandes pour /etc/passwdet /etc/group. Pour modifier les bases de données de mots de passe, passez l'option -s. Par exemple, pour modifier /etc/gshadow, utilisez vigr -s.

strugee
la source
Cette question et la réponse ont été dérivées avec seulement des modifications mineures d'une section de la question canonique " comment devenir racine ". Tout le mérite revient aux créateurs de cette réponse originale.
tshepang
@Tshepang qu'est-ce qui vient de se passer?
strugee
2
Les méta-informations comme appartiennent à la section Commentaires.
tshepang
1
Et vous ne devez pas modifier directement les fichiers crontab mais les utiliser crontab -e(car cela peut également faire une vérification de la syntaxe).
Rétablir Monica - M. Schröder
0

Assurez-vous toujours de conserver une sauvegarde du fichier que vous modifiez. Certaines personnes aiment mettre un horodatage après cela. Cela garantit que vous pouvez toujours revenir en arrière (enfin, espérons-le) si le système tombe en panne à la suite du changement. En plus de la commande listée par strugee, la plupart des configurations vous permettront d'exécuter vos éditeurs habituels (vi, vim, nano, emacs). Sachez simplement si le fichier est en lecture seule ou non.

Luc
la source
1
C'est pourquoi nous avons des programmes comme rcset etckeeper.
Rétablir Monica - M. Schröder
"la plupart des configurations vous permettront d'exécuter vos éditeurs habituels" - oui, bien sûr. mais notez la deuxième phrase de ma réponse - exécuter directement un éditeur n'est pas le moyen le plus sûr de le faire. il n'y a pratiquement aucun inconvénient sudoedit.
strugee