51 votes

Comment obtenir les autorisations nécessaires pour modifier les fichiers de configuration du système ?

Je n'arrive pas à éditer et à sauvegarder les fichiers de configuration dans le système racine (ex : /etc/dhcp/dhcpd.config ) ; il est simplement indiqué "permission refusée" ou l'option d'enregistrement est bloquée dans l'éditeur de texte.

Je suis presque sûr d'être un utilisateur root, mais comment m'en assurer ? Si je suis un utilisateur root, comment puis-je résoudre ce problème ?

2voto

David Foerster Points 34353

Utilisez votre éditeur de texte préféré

Vous pouvez utiliser sudo -e ou son alias sudoedit avec votre éditeur de texte préféré (graphique !) par l'intermédiaire de l'option VISUAL variable d'environnement 1 :

VISUAL=gedit sudo -e /path/to/some-config-file.cfg

ce qui équivaut à

VISUAL=gedit sudoedit /path/to/some-config-file.cfg

Bien entendu, vous pouvez utiliser n'importe quel autre éditeur, par exemple leafpad , kate , oder subl .

Certains éditeurs proposent une option de ligne de commande pour toujours démarrer une nouvelle instance, même si une instance est en cours d'exécution. Depuis le sudoedit attend que le processus de l'éditeur se termine pour appliquer les modifications au fichier édité, ce qui peut s'avérer nécessaire si d'autres instances du même éditeur sont en cours d'exécution :

  • Pour GEdit, utilisez VISUAL='gedit -s' .
  • Pour Kate, utiliser VISUAL='kate -n' .

Avantages

  • Ne nécessite pas d'applications supplémentaires et/ou obsolètes.
  • Ne nécessite pas de modifications de la politique de sécurité comme pkexec (pour cela, il faudrait éditer des fichiers en tant que super-utilisateur, ce que cette réponse tente justement de résoudre).
  • Ne nécessite pas l'exécution d'applications potentiellement dangereuses avec des privilèges élevés.
  • Utilise la configuration de l'application de l'utilisateur actuel, mais modifie les autorisations d'accès au fichier de configuration comme sudo -H etc.
  • Ne s'appuie pas sur les données de configuration de l'application de l'utilisateur de l'application root qui peut ou non avoir une apparence et un comportement acceptables.

Inconvénients

  • Vous devez apprendre une nouvelle commande courte.

1 EDITOR o SUDO_EDITOR travaillent également, mais sont moins prioritaires ou plus spécialisés. Voir les page du manuel pour plus de détails.

0voto

Amith KK Points 13017

Pour plus de sécurité, sauvegardez-le en utilisant cp /etc/dhcp/dhcpd.config /$HOME/dhcpd.config.backup et exécuter gksu gedit /etc/dhcp/dhcpd.config

Remplacer gedit avec l'éditeur de votre choix

vous obtiendrez un message comme celui-ci

password prompt

Entrez votre mot de passe ici.

Une nouvelle fenêtre s'ouvre et vous pouvez y modifier votre configuration.

En cas de problème, vous pouvez le restaurer à partir de votre sauvegarde dans le dossier personnel.

Vous obtenez "permission denied" à cause de la façon dont Linux gère les permissions.

Tout ce qui se trouve dans la $HOME appartient à l'utilisateur, tandis que presque tout le reste appartient à la racine.

En /etc/dhcp/dhcpd.conf auquel vous essayez d'accéder appartient à la racine, et la plupart des fichiers du répertoire /etc/ appartiennent par défaut à root pour des raisons de sécurité.

Vous pouvez toujours modifier ce fichier en augmentant vos droits d'accès.

Pour ce faire, plusieurs possibilités s'offrent à vous :

  • utiliser su qui signifie "utilisateur de commutateur". Sans aucun attribut, il fonctionne comme une commande pour passer au compte root, mais vous devez entrer le mot de passe de l'utilisateur vers lequel vous basculez, et comme root n'a pas de mot de passe par défaut sur Ubuntu (ce qui désactive effectivement le compte root), cela ne fonctionnera pas à moins que vous n'ayez défini un mot de passe pour root, ce qui n'est pas recommandé.

  • en utilisant sudo qui augmente votre autorisation pour une seule commande. Cela n'est généralement utilisé que pour les applications en ligne de commande, telles que les éditeurs de texte en ligne de commande comme vim , nano etc.

  • en utilisant gksu qui n'élève votre permission que pour une seule commande, mais à la différence de sudo est utilisé pour les programmes graphiques tels que les éditeurs de texte GUI comme gedit . il utilise une invite graphique pour faciliter la saisie d'un mot de passe.

0voto

user392272 Points 11
sudo < editor > < filelocation >

par exemple :

sudo -H gedit etc/dhcp/dhcpd.config

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X