web-dev-qa-db-fra.com

Complètement foutu up sudoers file and su Operations

Je suis dans un très mauvais état en ce moment. Je note les étapes que j'ai suivies pour me mettre dans cette situation.

Mon objectif était de désactiver Sudo sur ma machine.

J'utilise Amazon Ec2 Ubuntu 12.04

  1. J'ai utilisé cette commande pour créer un mot de passe root.

    Sudo passwd
    

    A ce moment, j'étais utilisateur d'ubuntu.

  2. J'ai édité mon fichier /etc/sudoers à l'aide de nano et j'ai procédé comme suit.

    #ubuntu ALL=(ALL) NOPASSWD:ALL----This enabled no password
    ubuntu ALL=(ALL) ALL---this enables password
    

    Donc, mon fichier ressemblait (avant de quitter)

    #ubuntu ALL=(ALL) NOPASSWD:ALL
    #ubuntu ALL=(ALL) NOPASSWD:ALL----This enabled no password
    ubuntu ALL=(ALL) ALL---this enables password
    

Maintenant, lorsque j'utilise la commande Sudo, le message d'erreur suivant apparaît. Il est évident que j'ai foiré le fichier:

ubuntu@ip-10-144-143-249:~$ Sudo
sudo: >>> /etc/sudoers.d/90-cloudimg-ubuntu: syntax error near line 4 <<<
Sudo: parse error in /etc/sudoers.d/90-cloudimg-ubuntu near line 4
Sudo: no valid sudoers sources found, quitting
Sudo: unable to initialize policy plugin

Mais lorsque j'utilise ces commandes su, su root, il me demande le mot de passe que j'ai défini à l'étape 1.

Mais chaque fois que je mets le mot de passe, je reçois un message d'échec d'authentification alors que je suis sûr à 100% que je vous donne le mot de passe correct:

ubuntu@ip-10-144-143-249:~$ su
Password:
su: Authentication failure

Je n’ai pas trouvé beaucoup de solutions sur le Web et l’une des méthodes suggérées pour détacher et rattacher le volume. Cela peut être fait, mais comme il s’agit d’un environnement de production, de nombreux problèmes se poseraient. Y at-il un moyen/bidouille qui peut être fait pour que je puisse faire fonctionner les opérations de Sudo ??

3
rahulqelfo

Rahul, vous devez d’abord réparer le fichier sudoers.

créez un fichier sudoers sur le bureau et collez-y ces lignes:

#
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults    env_reset
Defaults    mail_badpass
Defaults    secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"

# Host alias specification

# User alias specification

# Cmnd alias specification

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

# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL

# Allow members of group Sudo to execute any command
%Sudo   ALL=(ALL:ALL) ALL

# See sudoers(5) for more information on "#include" directives:

#includedir /etc/sudoers.d

OK, maintenant vous devez remplacer votre fichier sudoers original par le nouveau fichier, utilisez ctrl + F1 pour passer à un tty, essayez de devenir root et tapez

mv /home/RAHUL/Desktop/sudoers /etc/sudoers 

SI vous ne pouvez pas devenir utilisateur root, vous devez démarrer à partir d'Ubuntu en direct, puis suivre les étapes ci-dessus.

1
Rahul V Sharma

Voici ce que j'ai fait pour résoudre ce problème-

  1. Lancement d'une même instance Hardware Like (celle qui a été gâchée).
  2. Arrêtez l'instance.
  3. sSH le dossier complet Ubuntu (qui avait tous les fichiers nécessaires).
  4. Démarrez le serveur de répliques et assurez-vous que tout fonctionne correctement (nous utilisons Mongo, Mysql, Tomcat et Java).
  5. Une fois cela fait, j'ai détaché l'adresse IP élastique utilisée pour l'instance foirée et jointe à la réplique.

Voilà maintenant vous avez une nouvelle instance en cours d'exécution avec les mêmes config et IP.

Temps pris 30 minutes.

1
rahulqelfo

Vous mettez le mauvais mot de passe. Sudo passwd modifie le mot de passe de l'utilisateur root, et non le mot de passe requis pour Sudo. De plus, le compte root est généralement verrouillé dans ubuntu, vous ne pouvez donc pas y accéder via su ou su root, voir ici .

Quoi que vous ayez fait pour 90-cloudimg-ubuntu n’est probablement pas lié à l’échec de l’authentification. Etes-vous sûr que ubuntu ALL=(ALL) ALL---this enables password est syntaxiquement correct? Pour commencer, les commentaires commenceraient par #.

Pour empêcher tout utilisateur d'exécuter Sudo, supprimez tous les utilisateurs du groupe Sudo dans/etc/group. Prévoyez-vous de vous connecter en tant que root après?

0
noleti