Le nom d'utilisateur ne figure pas dans le fichier sudoers. Cet incident sera rapporté

85

J'utilise Ubuntu 12.04 sur mon ordinateur portable à l'aide de VMware Player. Je ne sais pas pourquoi mais j'ai un compte appelé "Compte utilisateur" en plus de mon compte auquel je me connecte habituellement pour utiliser Ubuntu. Ce n’est qu’un commentaire latéral, mais j’essaie essentiellement d’installer la bibliothèque ncurses sur Ubuntu. J'ai essayé d'installer ncurses en utilisant les lignes de commande suivantes:

sudo apt-get install libncurses5-dev
sudo apt-get install ncurses-dev

Lorsque j'ai essayé d'installer ncurses deux fois à l'aide des commandes ci-dessus, j'ai reçu l'invite suivante dans le terminal:

[sudo] password for username

Lorsque je tape mon mot de passe, je reçois le message suivant:

username is not in the sudoers file. This incident will be reported.

Jusqu'à présent, j'ai essayé d'activer le compte d'utilisateur root ("super utilisateur") en suivant les instructions sur ce lien: https://help.ubuntu.com/community/RootSudo

Voici certaines des choses que le lien suggéré de faire:

Autoriser un autre utilisateur à exécuter sudo. Tapez ce qui suit dans la ligne de commande:

sudo adduser nom d'utilisateur sudo

Ou

sudo adduser nom d'utilisateur sudo

se connecter en tant qu'autre utilisateur. Tapez ce qui suit dans la ligne de commande:

sudo -i -u nom d'utilisateur

Activer le compte root. Tapez ce qui suit dans la ligne de commande:

sudo -i

Ou

sudo passwd root

J'ai essayé toutes les lignes de commande ci-dessus et après avoir tapé chaque commande, mon mot de passe a été demandé. Après avoir entré mon mot de passe, j'ai reçu le même message que lorsque j'ai essayé d'installer ncurses:

fsolano is not in the sudoers file. This incident will be reported.
fsolano94
la source
Je n'ai pas encore de commentaires si nus avec moi ici ... Question. fsolano est-il le premier utilisateur que vous avez créé avec l’installation d’ubuntu? généralement, cela devrait avoir des privilèges d’administrateur, si vous exécutez une fonction d’administrateur dans un sens graphique, est-ce que cela fonctionne pour vous? IE si vous ouvrez la GUI pour la gestion des utilisateurs et essayez d’administrer quelque chose, ça marche? ou vous dire que vous n'êtes pas root
La même question a été posée ici aussi? superuser.com/questions/866582/…
shubham
si vous avez un utilisateur root avec son mot de passe, vous pouvez vous connecter à root en utilisant suet ajouter urself au groupe sudo àdduser username sudo, vous devrez démarrer avec live cd / usb et chroot sur le système installé, il se connectera à root par défaut , définissez un mot de passe root pour les prochains cas passwd, et ajoutez-vous à sudo à partir de là, puis redémarrez; votre nom d'utilisateur sera ajouté à sudo et vous aurez également un mot de passe root. Si sudo ne fonctionne toujours pas, vous pouvez le gérer. ....
Jonah
2
xkcd.com/838
Revetahw

Réponses:

57

Quand cela m'est arrivé, tout ce que j'avais à faire pour le réparer était:

Étape 1. Ouvrez une fenêtre de terminal, CTRL+ ALT+ T sur mon système (Debian KDE après la configuration en tant que raccourci clavier)

Étape 2. Entré dans la racine avec la commande su root

Étape 3. Entrez le mot de passe root

Étape 4. Entrez la commande apt-get install sudo -yà installersudo

Étape 5. Ajoutez l’utilisateur au fichier sudoers en le saisissant adduser username, mettez votre nom d’utilisateur à la place deusername

Étape 6. Définissez les autorisations appropriées pour le fichier sudoers en saisissant chmod 0440 /etc/sudoers

Étape 7. Tapez exitet appuyez Enterjusqu'à ce que vous fermiez la fenêtre de votre terminal. Arrêtez complètement votre système et redémarrez.

Étape 8. Ouvrez une autre fenêtre de terminal.

Étape 9. Essayez n’importe quelle commande sudo pour vérifier si votre nom d’utilisateur est correctement ajouté au fichier sudoers. J'ai utilisé sudo echo "Hello World!". Si votre nom d'utilisateur a été correctement ajouté à la liste sudoers, vous obtiendrez Hello World!la réponse du terminal!

Shrikant Khawale
la source
15
-1: cd -n'ira pas dans le répertoire de base mais dans l'autre répertoire le plus récent. sudo -ne vous demandera pas votre mot de passe utilisateur mais votre mot de passe root. Ne pas éditer /etc/sudoersmanuellement utiliser visudopour cela. Les systèmes ubuntu typiques ne disposent d'aucun mot de passe root, mais reposent entièrement sur sudo.
michas
@ michas Vous ne pouvez pas utiliser visudo sans sudo dans Debian. visolution n'est également pas possible car en lecture seule. Gedit fonctionne dans mon cas.
Léo Léopold Hertz 준영
Dans debian 8, vous pouvez utiliser vi sans sudo en tant que root. Pour écrire dans le fichier en lecture seule, utilisez: wq!
L'Oracle
Cela fonctionne aussi pour moi, la grande aide en effet!
Arefe
Merci pour votre réponse. Mais je ne suis même pas capable de courirsu -
Vishal
42

Suivez le lien pour réinitialiser votre mot de passe administrateur [on dirait que vous avez nommé votre compte utilisateur admin comme "utilisateur" :)]

https://askubuntu.com/questions/24006/how-do-i-reset-a-lost-administrative-password

Après cela, connectez-vous en tant qu'utilisateur admin et exécutez les opérations suivantes.

sudo usermod -aG sudo,adm fsolano

Vous pouvez maintenant vous connecter en tant que 'fsolano' et vous devriez pouvoir exécuter la commande sudo.

Arul Selvan
la source
1
Désolé, j'ai oublié de mentionner que j'ai résolu ce problème il y a très longtemps. C’est la solution que j’ai eue et que tout le monde peut avoir.
fsolano94
3
Je reçois toujours le message après avoir tapé ceci ainsi que adduser NAME sudo. Je pense qu'il doit y avoir autre chose. J'utilise Debian 7.8.
Tomáš Zato
Ce n'est pas une solution suffisante dans Debian 8.5. La proposition de ShrikantKhawale avec quelques ajouts est la bonne ici.
Léo Léopold Hertz 준영
3
@masi L'astuce ci - dessus fonctionne dans Debian 8.5 (du moins ici), mais uniquement après vous être déconnecté puis reconnecté .
Jcoppens
@jcoppens a raison, fonctionne également pour Debian 8.6, uniquement après la
déconnexion
13

La /etc/sudoersliste des fichiers de configuration , qui est autorisé à exécuter quelles commandes sous quel utilisateur.

Sur Ubuntu, ce fichier contient une ligne permettant à tous les utilisateurs du sudogroupe d’exécuter des commandes en tant rootqu’utilisateur.

Pour vérifier quels utilisateurs sont dans le groupe sudo, vous pouvez taper getent group sudo. Vous pouvez également vérifier les groupes de votre utilisateur actuel en tapant id.

Votre utilisateur actuel ne fait probablement pas partie du groupe sudo et n'est donc pas autorisé à utiliser la sudocommande.

Connectez-vous en tant qu'utilisateur compatible sudo si vous souhaitez exécuter sudo.

michas
la source
Eh bien c'est juste la chose. Je me connecterais en tant qu'administrateur ou utilisateur root, mais j'ai oublié le mot de passe lors de la première installation d'Ubuntu sur ma machine.
fsolano94
sudo: x: 27: utilisateur (je ne sais pas ce que sont le x ou le 27, mais je suis certain que cet utilisateur est le compte d'utilisateur que je ne connais pas / me souviens pas du mot de passe)
fsolano94
@ fsolano94, démarrez dans un environnement de secours (directement ou à partir du support d'installation) et modifiez le mot de passe root. Ou éditez le /etc/sudoersfichier (en utilisant de préférence visudo(1)).
vonbrand
6

J'ai le même problème avec Kali quand je veux ajouter un nouvel utilisateur au groupe sudo en tapant cette commande:

usermod -aG sudo newuser

et éditer la bonne section dans /etc/sudoers. Toute la merde!

Mon correctif pour ce non-sens est de copier la ligne pour root en dessous et de changer root pour newuser:

# User privilege specification
root    ALL=(ALL:ALL) ALL

newuser ALL=(ALL:ALL) ALL

Je me souviens de la méthode habituelle avec usermod qui fonctionnait, mais est-ce un bogue depuis deux ans maintenant? c'est vraiment insensé. de toute façon, si quelqu'un a une meilleure réponse, partagez-la s'il vous plaît :)

pain de pain
la source
Même problème sur Debian classique (9); l'édition manuelle a /etc/sudoersfait l'affaire
Zoe la transgirl
4

Faites ceci pour réinitialiser le mot de passe de votre utilisateur admin.

https://help.ubuntu.com/community/LostPassword

Vous pourrez ensuite accorder l’autorisation sudo à votre utilisateur régulier avec

sudo adduser username sudo

comme vous avez posté dans votre question initiale.

Au fait: pourquoi installez-vous ncurses? Êtes-vous en train de compiler quelque chose?

Andrew M.
la source
Je suis en train de programmer Tetris en C et d’utiliser des curses comme plate-forme croisée pour l’interface utilisateur graphique. Et oui je vais suivre le lien
fsolano94
1

Vous pouvez également ajouter un utilisateur au groupe sudo pour tous les droits d'accès en:

  1. Aller à votre utilisateur du répertoire racine par sudo su(Ubuntu 16.04 LTS)
  2. Puis entrez votre mot de passe d'utilisateur actuel
  3. tapez sudo adduser <username> sudooù nom_utilisateur est le nom de l'utilisateur que vous souhaitez ajouter à la liste sudoers
  4. Pour vérifier si votre utilisateur requis est ajouté avec succès, tapez getent group sudoce qui affichera la liste des utilisateurs sudo
Yash Agrawal
la source
Bonjour, bienvenue dans Unix SE et félicitations pour cette bonne première réponse. J'ai corrigé un peu votre mise en forme, vous pouvez en apprendre plus en cliquant sur "Aide sur la syntaxe" lors de la rédaction d'un article.
GnP
1
Ce n'est pas une bonne réponse. (1) La question dit que sudocela ne fonctionne pas pour l'utilisateur. (2) La réponse sudo adduser <username> sudoa déjà été donnée.
G-Man
0

Si vous avez un autre utilisateur root / admin que 'fsolano', cela ne se trouve pas dans le fichier sudoers. Cet incident sera signalé:

check sudo enabled users (groups)
# getent group sudo 
sudo:x:27:xyz,abc 

étant donné que l'utilisateur 'fsolano' est changé en utilisateur standard et si vous avez un autre utilisateur privilégié root, connectez-vous via le compte root et changez 'fsolano' en administrateur à l'aide de "Comptes d'utilisateurs".

Dovegg
la source
-1

Le moyen le plus simple d'ajouter un utilisateur à un sudoersfichier est d'exécuter la commande ci-dessous en tant qu'utilisateur autorisé à exécuter gpasswd:

sudo gpasswd -a username sudo
Monteirobrena
la source
Cela ne fonctionne pas dans Debian 8.5.
Léo Léopold Hertz 준영
-1

1.Vous pouvez vérifier si vous faites partie du groupe sudo ou non en utilisant la commande ci-dessous.

groups username ===> it will lists the groups for which he belongs too

Nous pouvons aussi vérifier par le script ci-dessous

h=`groups username| awk -F ":" '{print $2}'| grep -io 'sudo'`
if [[ $h == "sudo" ]]
then
echo "user praveen is part of group sudo"
else
echo "Need to add user to group sudo"
echo "Swictch to root and add user"
fi
Praveen Kumar BS
la source