Comment puis-je me rajouter en tant qu'utilisateur sudo?

64

Aujourd'hui, j'ai installé Ubuntu 11.10 proprement, puis VirtualBox. Cela m'a obligé à m'inscrire moi-même au groupe vboxusers et, comme 11.10 ne semble plus avoir d'application graphique pour ajouter des utilisateurs à un groupe, j'ai lancé la commande suivante:

sudo usermod -G vboxusers stephane

C'est un problème. Je vois maintenant ce que j'aurais dû courir à la place est:

sudo usermod -aG vboxusers stephane

Le résultat final est que je ne fais plus partie des groupes dans lesquels je devrais être. Incluant le groupe requis pour exécuter "sudo". Lorsque j'exécute une commande en tant que sudo maintenant, j'obtiens le texte suivant:

$ sudo ls
[sudo] password for stephane: 
stephane is not in the sudoers file.  This incident will be reported.

Existe-t-il un moyen de résoudre ce problème ou dois-je réinstaller à nouveau?

Stéphane
la source

Réponses:

65
  1. Pendant le démarrage, maintenez la touche gauche Shift enfoncée. Le menu GRUB apparaît.

  2. Sélectionnez l'entrée contenant ( mode de récupération ) et attendez.

  3. Vous devriez maintenant être présenté avec un menu. Sélectionner:

    remount    Remount / read/write and mount all other file systems 
    

    et attendez que vos systèmes de fichiers soient montés avec des autorisations de lecture / écriture, puis appuyez sur Enter.

    Si cette option n'apparaît pas ou ne fonctionnera pas, vous pouvez plutôt la choisir rootet utiliser la commande suivante pour monter la partition système:

    mount -o remount /
    

    Vous pouvez vérifier quelle est votre partition système avec fsckcommande ou en la visualisant /etc/mtab.

    Après avoir exécuté la commande mount avec succès (c’est-à-dire qu’aucun message d’erreur), passez directement à l’étape 5 ci-dessous.

  4. Après avoir choisi l' remountoption, le menu réapparaît. Sélectionner:

    root       Drop to root shell prompt
    
  5. Maintenant, entrez l’une des commandes suivantes pour ré-ajouter votre utilisateur au admingroupe (pour Ubuntu 11.10 et versions antérieures):

    adduser <USERNAME> admin
    

    ou au sudogroupe (pour Ubuntu 12.04 et ultérieur):

    adduser <USERNAME> sudo
    
  6. Redémarrez et vous devriez pouvoir utiliser à sudonouveau.

htorque
la source
3
Si vous ne voyez pas le menu "remonter", vous pouvez d'abord sélectionner "fsck", il remontera votre système de fichiers en lecture / écriture. Après cela, vous pouvez ajouter votre utilisateur en mode racine.
Jiejing Zhang
1
Cela a fonctionné pour moi, sauf que je devais monter le système de fichiers à l'aide de la commande mount -o remount,rw /.
Passuf
Cela fonctionne parfaitement. En outre, cela ressemble à un gros problème de sécurité. Je suppose que vous devriez désactiver cette fonctionnalité sur les machines sensibles? - En mode de récupération, je ne parviens jamais à redémarrer. Je dois toujours utiliser reboot -f.
Romain Vincent
15

Si la connexion root est activée sur votre système, déposez simplement le terminal via Control+ Alt+ F1sans vous connecter à X. Connectez-vous en tant que root, puis ajoutez simplement l'utilisateur souhaité au admingroupe (pour Ubuntu 11.10 et versions antérieures):

adduser desired_user_name admin

Pour Ubuntu 12.04 et versions ultérieures, ajoutez l'utilisateur au sudogroupe:

adduser desired_user_name sudo

Si vous n'avez pas activé la connexion root, choisissez simplement le mode de récupération de Grub, puis essayez le shell root.

Shell racine

Monter le système de fichiers en lecture-écriture:

mount -o rw,remount /

Ensuite, vous pouvez à nouveau ajouter l’utilisateur de votre choix au groupe admin(ou sudo).

cœur magique
la source
Mais je ne peux pas accéder à sudo de mon utilisateur!
Jamie Hutber
7

J'ai essayé diverses combinaisons après avoir fait la même chose, car l'option de menu Remount semble ne pas être dans 12.10. J'ai essayé tout le reste dans ce post à partir de la racine. Le dernier était

umount -a
mount -o -w /<path> /

Il en est résulté le système de fichiers encore être ro en raison d'une mise en fstab pour démarrer ro d' erreur du système de fichiers , je pense, avec lui indiquant qu'il semblait être ro après montage.

J'ai finalement réussi avec

mount -o rw,remount /

Bien que je ne sois pas sûr de savoir en quoi cela est différent du jeu de commandes précédent.

Après avoir appliqué cette variante, l’ajout d’un utilisateur au groupe admin(11.10 et ealrier) ou sudo(12.04 et ultérieur) s’effectue de la même manière:

adduser username admin    # 11.10 and earlier
adduser username sudo     # 12.04 and later
Jodi
la source
2

Vieille question mais m'est arrivé aussi (Ubuntu 14.04).

Je ne pouvais pas me connecter en mode de récupération et accéder à un shell racine, comme le décrivent nombre de réponses ici et ailleurs: l'accès au shell racine de GRUB semble être protégé par un mot de passe.

J'ai donc résolu le problème de cette façon:

  1. démarrer sur une clé USB live
  2. ouvrir une coquille
  3. accédez au système de fichiers HD Linux principal (vous pouvez trouver son point de montage dans la barre d'adresse de l'explorateur de fichiers GUI, généralement après CTRL-L). cddans ça.
  4. éditer le fichier etc/group(par exemple avec nano etc/groupou autre chose)
  5. trouvez la ligne "sudo". Devrait ressemblersudo:x:27:admin,bob,alice
  6. ajoutez-vous à la sudoligne, séparés par des virgules

Bien entendu, cela implique que le fichier etc/sudoerscontient toujours la ligne

%sudo   ALL=(ALL:ALL) ALL

ce qui signifie que tous les membres du groupe sudoont un contrôle total. Vérifiez d'abord cela.

Travaillé sans incident.

kebs
la source
0

J'ai commis la même erreur en ajoutant mon compte à un groupe (j'ai oublié le -a). J'avais mon système installé avec le login root verrouillé, et mon compte était le seul sur la machine.

La réponse acceptée ne m'a pas aidé. Lors du démarrage en mode de récupération, tout ce que je reçus était un message inutile

Impossible d'ouvrir l'accès à la console, le compte root est verrouillé. Consultez la page de manuel sulogin (8) pour plus de détails.
Appuyez sur Entrée pour continuer.

Après avoir appuyé sur ENTREE, le système a démarré normalement: aucune chance d'obtenir un accès root pour résoudre le problème. Je laisse cette réponse au cas où quelqu'un finirait dans mes chaussures par ce point. Utilisez ce qui suit uniquement si vous ne parvenez pas à accéder au mode de récupération via le menu Grub .

Une procédure pas à pas pour obtenir la coque racine:

  1. Démarrez dans le menu Grub et mettez en surbrillance (mais n'appuyez pas Entersur!) L'option de démarrage normale (par défaut, pas de récupération!).
  2. Appuyez sur e. Grub affichera un éditeur de ligne de commande avec plusieurs lignes, chacune d'entre elles pouvant sembler inconnue, voire intimidante. Ne vous inquiétez pas, les modifications que vous apportez ne sont pas enregistrées de manière permanente.
  3. Trouvez la ligne suivante linux ... ro .... C'est la ligne de commande du noyau. Remplacez le rojeton rw, pour rendre le système de fichiers racine en lecture / écriture, et ajouter un autre paramètre de ligne de commande du noyau, init=/bin/sh. Ceci indique au noyau de s’exécuter shau lieu de /sbin/init. À la fin, la ligne devrait ressembler linux ... rw init=/bin/sh .... Remarque: vous pouvez vous en tirer même à l’ grub>invite. Je serai heureux d’expliquer comment, étape par étape, si tout échoue pour vous; laissez juste un commentaire à cette réponse.
  4. Après la modification, appuyez sur F10pour utiliser les commandes de l'éditeur pour démarrer le système (ou lisez les instructions pour démarrer juste en dessous de la fenêtre de l'éditeur, si votre Grub est compilé différemment). Vous obtiendrez l'invite du shell root, car le processus init est exécuté en tant que PID 1 avec l'identité racine.
  5. Faites le changement que vous voulez faire, par exemple usermod -a -Gadm,sudo YOURUSERID. Confirmez avec id -a YOURUSERIDque vous avez récupéré votre adhésion sudo. Si vous obtenez une erreur "commande introuvable", utilisez /sbin/usermodet /bin/id.
  6. Vous ne pouvez pas arrêter ou redémarrer le système proprement à ce stade. reboot, haltou poweroffne fonctionnera pas, et exitdu shell conduira à une panique du noyau, car le processus PID 1 ne devrait pas simplement se terminer. Donc, les deux prochaines commandes que vous devez donner sont:

    sync
    exec /sbin/init
    

    syncjuste au cas où quelque chose ne va pas, pour enregistrer toutes les modifications sur le disque, et execpour remplacer le shell par le réel init(qui peut être systemd, upstart ou System V init, mais il est toujours appelé /sbin/init). Le système continuera probablement à démarrer normalement (pas de mode de récupération).

  7. Connectez-vous et redémarrez le système une fois, par exemple - sudo rebootvous devriez avoir récupéré votre privilège sudo. Un redémarrage est recommandé car (bien que très rarement) initdes paramètres supplémentaires peuvent être transmis lors d'un démarrage normal, ce que nous n'avons pas fait. En cas d' execéchec, réinitialisez simplement la machine et laissez-la démarrer normalement. Tous les systèmes de fichiers de journalisation modernes, tels que ext4, xfs et btrfs, se récupèrent rapidement (quelques secondes au maximum pour une vérification de journal, si syncédités avant la réinitialisation), et vous serez prêt.

Un peu de fond

Il y a eu une discussion sur le rapport de bogue Debian à propos de ce problème même et, pour autant que je sache, cela a été décidé comme une fonctionnalité et non comme un bogue, ce qui, à mon avis, a plutôt été une erreur. Ayant été dans cette entreprise pendant 25 ans, je ne peux m'empêcher d'être totalement en désaccord avec l'argument de Michael Biebl dans le message n ° 31 de ce fil:

Considérez ceci: vous avez un ordinateur portable avec un compte root verrouillé. Par défaut, le chargeur de démarrage grub génère une entrée de démarrage pour le mode de secours. Ainsi, même si vous verrouillez le bios pour empêcher le démarrage à partir d'un CD-ROM ou d'une clé USB et que vous protégez votre mot de passe, quelqu'un pourrait facilement accéder à la racine si vous laissez l'ordinateur portable sans surveillance un instant.

L’objection correcte de l’OMI, si elle n’était pas assez générale, a été formulée dans le message n ° 70 de Felipe Sateler:

Pour beaucoup (la plupart?) Des ordinateurs, l'accès physique est une perte de sécurité, car vous pouvez simplement démonter la boîte et obtenir le disque dur.

Cela est particulièrement vrai pour l'ordinateur portable, mentionné dans l'argument de Michael: si vous le laissez sans surveillance pendant un moment, et que quelqu'un recherche vos données, l'ordinateur portable disparaîtra pour ne plus jamais être revu. Et pour n'importe quelle machine, ni "beaucoup" ni "la plupart", même celles bloquées à 8 points dans un rack, dès que l'attaquant obtient un accès physique à la machine, le jeu est vraiment terminé.

kkm
la source