Astuce: modifier un fichier système avec VI sans être root

Il arrive assez souvent d’être confronté à ce problème, lorsqu’on veut éditer et changer un fichier système, qui nécessite d’être root avec l’éditeur VI sous un profile utilisateur standard.

Donc, dans ce cas il faut quitter l’éditeur VI puis passer en root ou faire un sudo vi.

Ce temps est révolu car voici une astuce bien pratique, qui permet de modifier le fichier sans être root:

:w !sudo tee %

via stuper.info

3 Comments

  1. TRES TRES mauvaise pratique ! Selon les implementations de « tee », le fichier est soit « ouvert en ecriture » (donc vidé de son contenu) soit « efface puis cree de nouveau ».

    Dans le 1er cas pas de soucis les caracteristiques du fichier sont respectees, dans le 2eme ca peut poser de gros problemes car la creation de fichier se fait avec le « umask » par defaut de l’utilisateur (root en l’occurence a cause du sudo).

    Au final, on peut se retrouver dans un cas tres bete : Edition d’un fichier systeme avec des droits comme suit « root root -rw——- » et apres edition (en mode suppression+creation) avec des droits « root root -rw-r–r– » ! Trop cool… le fichier est maintenant lisible par tous les utilisateurs du systeme !

    Faire TRES TRES attention avec ce genre « d’astuce » car les effets de bord sont multiples !

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.