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 ?

44voto

Knowledge Cube Points 14265

Quel éditeur de texte utilisez-vous ? Si vous êtes un sudoer et que vous connaissez votre mot de passe, essayez (dans un terminal) soit :

  • sudoedit /etc/dhcp/dhcpd.config si vous utilisez un éditeur basé sur un terminal tel que nano ou se connectent en ssh à un serveur.
  • gksudo <text editor here> /etc/dhcp/dhcpd.config si vous utilisez un éditeur basé sur une interface graphique tel que gedit

Dans les deux cas, vous devrez d'abord fournir votre mot de passe lorsqu'il vous sera demandé.

Dans Ubuntu 14.04 et plus, gksudo n'est pas installé par défaut. Vous devrez installer le logiciel gksu (soit à partir du Software Centre, soit par l'intermédiaire de sudo apt-get install gksu ) pour l'obtenir.

Dans Ubuntu 17.10, Wayland est utilisé par défaut au lieu du serveur X traditionnel, et il est difficile d'utiliser des éditeurs graphiques en tant que root. Voir aussi Pourquoi gksu/gksudo ou le lancement d'une application graphique avec sudo ne fonctionnent-ils pas avec Wayland ? pour plus de détails.

Dans Ubuntu 18.04, gksudo n'est pas disponible dans les dépôts officiels. Utiliser sudo -H <text editor> à la place, ou les admin:// protocole :

gedit admin:///etc/dhcp/dhcpd.config

15voto

Scott Severance Points 13166

Si vous ne voulez pas utiliser un terminal, vous pouvez invoquer un programme GUI en tant que root donc (cet exemple concerne Gedit) :

  1. Frapper Alt + F2 pour faire apparaître la boîte de dialogue Exécuter.

  2. Type gksudo suivi du nom de l'exécutable de votre programme (qui peut être différent du nom affiché par l'interface graphique). Par exemple :

    gksudo gedit
  3. Frapper Enter .

10voto

RobotHumans Points 27764

Je ne vois pas de cas où la racine obtiendrait permission denied .

Dans la version 12.04, vous pouvez procéder comme suit : alt + f2 et entrez gksudo dans la boîte qui apparaît comme suit :

F2 dialogue

Vous obtenez une boîte comme celle-ci et vous entrez gedit et cliquez sur ok :

Type gedit in Run dialogue

Cliquez sur Open :

Open tab inside gedit

Il suffit de naviguer jusqu'au fichier :

open files dialogue

Terminé

Avertissement : Ce n'est pas pour rien qu'il existe un super-utilisateur/root. C'est pour que vous ne mettiez pas accidentellement quelque chose de mauvais ou de mal structuré dans quelque chose d'important. Vous devez faire extrêmement attention à ce que tout ce que vous éditez en tant que super-utilisateur soit le bon fichier que vous voulez éditer ET que votre syntaxe soit parfaite. Si d'autres outils sont disponibles pour l'édition, il est recommandé de les utiliser. Par exemple, utilisez l'outil visudo commande du terminal au lieu d'éditer manuellement /etc/sudoers .

Certains fichiers susceptibles d'être endommagés sont faciles à récupérer. D'autres sont relativement compliqués ou nécessitent l'utilisation de la console de récupération et de nombreuses lignes de commande.

Oui, la ligne de commande de la console de récupération semble un peu plus effrayante que jamais. cette . Soyez prudent.

6voto

lacker Points 2218

Vous pouvez tester si votre Shell actuel est exécuté en tant que root de différentes manières

~/ > whoami
paul
~/ > sudo whoami
root
~/ > id
uid=1000(paul) gid=1000(paul) groups=1000(devs),4(adm),20(dialout),24(cdrom),…
~/ > sudo id
uid=0(root) gid=0(root) group=0(root)

D'autres réponses donnent de bons moyens d'escalader les privilèges de la racine, je ne les répéterai donc pas. En supposant que vous sont root et vous ne pouvez toujours pas éditer le fichier /etc/dhcp/dhcpd.config - puis très probablement que quelqu'un ou un programme a utilisé le chattr pour rendre le fichier immuable.

A partir de la page du manuel de chattr :

Un fichier doté de l'attribut "i" ne peut pas être modifié : il ne peut pas être supprimé ou renommé, aucun lien ne peut être créé vers ce fichier et aucune donnée ne peut être écrite dans le fichier. Seul le superutilisateur ou un processus possédant l'attribut CAP_LINUX_IMMUTABLE peut activer ou désactiver cet attribut.

Vous pouvez le savoir en utilisant lsattr

lsattr /etc/dhcp/dhcpd.config

S'il est en effet immuable, vous pouvez le désactiver comme suit :

chattr -i /etc/dhcp/dhcpd.config

3voto

Jeremy Bicha Points 8124

Si vous utilisez Ubuntu 17.04 ou plus, il est recommandé d'utiliser l'option gvfs admin backend . Il suffit d'ajouter admin:// devant le chemin d'accès complet du fichier que vous souhaitez ouvrir dans une application telle que l'application Éditeur de texte ou le Fichiers apps .

Par exemple, pour modifier les paramètres de démarrage, ouvrez

admin:///etc/default/grub

Si vous utilisez Ubuntu 17.10 avec la version par défaut de Wayland, sudo y gksu comme indiqué dans la réponse précédente nicht travail.

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