Je suppose que vous êtes assez nouveau sur Linux.
Vous suivez un tutoriel sur Internet qui vous dit d'installer un certain programme ou d'exécuter une commande. C'est probablement quelque chose à voir avec un serveur.
Mais lorsque vous exécutez la commande, vous rencontrez cette erreur :
E :impossible d'ouvrir le fichier de verrouillage /var/lib/dpkg/lock-frontend - ouvert (13 :autorisation refusée)
E :Impossible d'acquérir le verrou frontal dpkg (/var/lib/dpkg/lock-frontend), êtes-vous root ?
Une erreur similaire est celle-ci :
dpkg :erreur :accès en lecture/écriture requis au répertoire de la base de données dpkg /var/lib/dpkg
E :le sous-processus dpkg –set-selections a renvoyé un code d'erreur (2)
E :L'exécution de dpkg a échoué. Êtes-vous root ?
Les deux erreurs vous posent la même question :êtes-vous root ? Et c'est la réponse à ce problème. Devenez root.
Devenez root pour éviter cette erreur
Comment devient-on root sous Ubuntu ou Debian ? Vous utilisez la commande sudo.
Oui c'est ça. Quelle que soit la commande que vous exécutiez, ajoutez simplement sudo avant.
sudo your_command
Il vous demandera d'entrer le mot de passe de votre compte utilisateur. Veuillez garder à l'esprit que rien ne s'affiche à l'écran lorsque vous tapez le mot de passe et ce n'est pas grave.
Il n'y a rien de mal avec votre système. Dans la plupart des systèmes Linux, la saisie du mot de passe n'affiche pas les astérisques habituels ou quoi que ce soit de ce genre en tant que "fonctionnalité de sécurité".
Tapez simplement votre mot de passe et appuyez sur Entrée après celui-ci. Si le mot de passe a été saisi correctement, vous devriez pouvoir exécuter la commande maintenant.
Vous pouvez même utiliser cette astuce pratique en ligne de commande Linux pour exécuter une commande précédente avec sudo :
sudo !!
C'était simple et fonctionne immédiatement, sauf si vous n'avez pas d'accès sudo. Ensuite, vous verrez une autre erreur.
Vous voyez une erreur "L'utilisateur n'est pas dans le fichier sudoer" ?
Lorsque vous installez Ubuntu, vous devez créer un compte utilisateur. Cet utilisateur reçoit automatiquement le pouvoir sudo d'exécuter des commandes en tant que root si nécessaire.
Cela se produit sur le bureau Ubuntu, pas sur les serveurs. La plupart des distributions de serveur auront un compte root séparé. Si vous créez un compte standard séparément, vous devrez ajouter l'utilisateur à sudoer afin que cet utilisateur normal puisse utiliser sudo.
Dans la capture d'écran ci-dessus, j'avais créé cet utilisateur supplémentaire mais je ne l'ai pas ajouté au groupe sudo. Cela signifie que l'utilisateur 'prakash' ici n'a pas le droit d'utiliser la commande sudo et donc le système se plaint que 'prakash n'est pas dans le fichier sudoers'.
Où l'incident est-il signalé ?
Une tentative sudo incorrecte est ajoutée aux journaux système. Il enregistre le nom d'utilisateur, le numéro de terminal virtuel, l'emplacement à partir duquel la commande a été exécutée et la commande qui a été exécutée.
L'emplacement de ces journaux diffère d'une distribution à l'autre.
Normalement, vous pouvez le trouver dans les journaux journalctl ou le fichier /var/log/auth.log dans Ubuntu, /var/log/audit/audit.log dans Fedora.
Que pouvez-vous faire si un utilisateur n'est pas dans la liste sudoer ?
Que pouvez-vous faire lorsque vous ne pouvez pas utiliser sudo avec le compte utilisateur actuel ? Tout d'abord, vérifiez si l'utilisateur dispose ou non des droits sudo. Si ce n'est pas le cas, voici quelques options :
- Connectez-vous en tant que root ou passez en root (si vous avez un mot de passe root).
- Ajouter l'utilisateur à la liste sudoer (si vous disposez des droits d'administrateur/sudo d'un autre compte utilisateur).
- Si vous êtes dans un système Linux multi-utilisateurs et que vous ne disposez pas vous-même d'un accès root ou sudo, demandez à votre administrateur système d'accorder à votre utilisateur l'accès sudo ou d'installer l'application que vous souhaitez installer.
Cela vous a-t-il aidé ?
Sudo est un mécanisme de sécurité très complet, et c'est bien plus que simplement permettre à un utilisateur normal de devenir root. Cela aide à auditer le système pour savoir quel utilisateur a exécuté quelle commande avec sudo. Il peut également être configuré pour permettre à un certain utilisateur d'exécuter uniquement certaines commandes avec sudo.
Vous ne verrez pas une telle configuration sudo granulaire sur Linux de bureau où elle est préconfigurée pour permettre à tout utilisateur du groupe sudo d'exécuter n'importe quelle commande en tant que root avec sudo. Plus d'informations sur sudo dans un autre article.
J'espère qu'en résolvant ce problème classique pour débutant, vous aurez un aperçu initial de la commande sudo. Faites-moi savoir si vous avez d'autres questions sur ce sujet dans la section des commentaires.