web-dev-qa-db-ja.com

sudoersファイルとsu操作を完全に台無しに

私は今、本当に悪い状態にあります。私は、この状況に陥るためにした手順を書き留めています。

私の目的は、私のマシンでSudoを無効にすることでした。

Amazon Ec2 Ubuntu 12.04を実行しています

  1. このコマンドを使用して、ルートパスワードを作成しました。

    Sudo passwd
    

    この瞬間、私は「ubuntu」ユーザーでした。

  2. Nanoを使用して/etc/sudoersファイルを編集し、次のことを行いました。

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

    だから私のファイルは次のように見えました(終了する前)

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

Sudoコマンドを使用すると、次のエラーが表示されますが、これはファイルを台無しにしたときに明らかです。

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

しかし、これらのコマンドsusu rootを使用すると、ステップ1でセットアップしたパスワードの入力を求められます。

しかし、パスワードを入力するたびに、正しいパスワードを入力していることを100%確信しているにもかかわらず、認証失敗メッセージが表示されます。

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

私は何をすべきかわかりません。ウェブ上でいくつかの解決策をチェックし、ボリュームをデタッチおよび再アタッチする方法の1つを確認しました。 Sudo操作を機能させるためにできる方法/ハックはありますか??

3
rahulqelfo

Rahul、最初にsudoersファイルを修復する必要があります。

デスクトップにsudoersファイルを作成し、次の行を貼り付けます。

#
# 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、元のsudoersファイルを新しいファイルに置き換える必要があります。 ctrl + F1 ttyに切り替えるには、rootになってタイプしてください

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

Rootユーザーになれない場合は、ライブUbuntuから起動して、上記の手順に従う必要があります。

1
Rahul V Sharma

この問題を解決するために私がしたことは

  1. 同じハードウェアのような(台無しにされた)インスタンスを起動しました。
  2. 混乱したuoインスタンスを停止します。
  3. 完全なubuntuフォルダをsshします(必要なすべてのファイルがありました)。
  4. レプリカサーバーを起動し、すべてが正常に機能することを確認しました(Mongo、Mysql、Tomcat、およびJavaを使用します)。
  5. 完了したら、めちゃくちゃになったインスタンスに使用されたエラスティックIPを切り離し、レプリカインスタンスに接続しました。

これで、同じ構成とIPを持つ新しい実行中のインスタンスができました。

所要時間は30分です。

1
rahulqelfo

間違ったパスワードを入力しています。 Sudo passwdは、Sudoに必要なパスワードではなく、rootユーザーのパスワードを変更しています。さらに、rootアカウントは通常ubuntuでロックされているため、suまたはsu rootを介してrootになることはできません。 here を参照してください。

90-cloudimg-ubuntuに対して何をしたとしても、おそらく認証の失敗とは関係ありません。 ubuntu ALL=(ALL) ALL---this enables passwordは構文的に正しいと確信していますか?まず、コメントは#で始まります。

ユーザーがSudoを実行できないようにするには、/ etc/groupのSudoグループからすべてのユーザーを削除します。後でルートとしてログインする予定はありますか?

0
noleti