web-dev-qa-db-fra.com

Pas de privilèges root lors de l'utilisation de l'interface graphique

Je suis donc connecté en tant qu'utilisateur 'Shannon', mais je ne peux pas obtenir un accès root via l'interface graphique lorsque je suis invité à installer un programme, par exemple. Cependant, en utilisant Sudo su, tapez le mot de passe root, accédez-y via le terminal, puis installez les programmes à partir de là. Ces mots de passe ne sont-ils pas supposés être identiques?

Est-ce que quelqu'un sait comment réparer celui-ci?

2
Shannon

OK, laissez-moi écrire une petite clarification. Il existe deux utilisateurs différents: Shannon et root. Dans Ubuntu, par défaut, root ne possède pas de mot de passe et ne peut pas se connecter . Si Shannon souhaite effectuer une tâche nécessitant des privilèges root, il utilise la commande Sudo qui consulte un fichier appelé _/etc/sudoers_ et a la capacité de transformer Shannon en root.

Par défaut, Sudo veut s'assurer que Shannon est en réalité Shannon et non son chien qui vient de prendre le contrôle du clavier. C'est pourquoi Sudo demande à l'utilisateur Shannon de son mot de passe (et non de la racine). Notez également qu'une "tâche nécessitant des privilèges root" peut être un shell bash, ce qui signifie essentiellement que vous pouvez vous connecter en tant que root (sans utiliser de mot de passe root!).

Ainsi, ce n'est pas que les deux utilisateurs (Shannon et root) aient des mots de passe différents, mais que le mot de passe de root ne soit pas demandé du tout .

Personnellement, je n'ai pas de chien; c'est pourquoi j'ai modifié _/etc/sudoers_ de telle sorte qu'il ne me demande jamais mon mot de passe - cela suffit. Utilisation de la commande _Sudo visudo_ J'ai édité _/etc/sudoers_ et modifié la ligne suivante:

_%Sudo ALL=(ALL:ALL) ALL
_

La ligne ci-dessus signifie que tous les utilisateurs du groupe Sudo (et je ne peux que supposer que Shannon appartient à ce groupe s'il a installé son système) peuvent exécuter essentiellement TOUTES les commandes racine.

_%Sudo ALL=(ALL:ALL) NOPASSWD: ALL
_

Ah, mais maintenant, la directive NOPASSWD fait en sorte que non seulement je puisse exécuter n’importe quel programme en tant que root, je peux également le lancer sans être inquiété pour la saisie d’un mot de passe. Notez que pour éditer ce fichier, je doit utiliser le programme visudo qui m'assure que je ne fais pas d'erreur de syntaxe. Une erreur de syntaxe dans le fichier sudoers peut complètement désactiver le système Sudo - et ensuite, si root ne possède pas de mot de passe, vous êtes dans un kacka profond.

Pour ajouter à la confusion, il existe un autre programme permettant d’obtenir temporairement les privilèges root appelés su. Cependant, su est beaucoup plus primitif - il demande simplement le mot de passe de la racine . Par conséquent, cela ne fonctionne pas dans une installation Ubuntu par défaut.

Alors, quel mot de passe est demandé quand vous tapez _Sudo su_? Eh bien, la commande que vous exécutez en premier est Sudo, pas su. Ainsi, vous êtes invité à saisir le mot de passe de Shannon, et non les racines. Sudo acquiert ensuite les privilèges root et exécute su en tant que root. Mais lorsque la racine exécute su, su ne demande pas de mot de passe. Dans tous les cas, ne faites pas cela - c'est à cela que _Sudo -i_ est destiné (fait exactement la même chose).

5
January

Par défaut, root est verrouillé dans Ubuntu.

Pour obtenir les privilèges root, nous utilisons Sudo su où il nous demande notre mot de passe.

Lors de l'installation de tout logiciel, le système vous demande également le même mot de passe.

Pour déverrouiller le compte root, utilisez Sudo -i et passwd de cette manière, vous pouvez déverrouiller le compte root, ce qui n’est pas conseillé.

0
Tarun