私は最近Ubuntu14.04を使用していました。そしてどういうわけか私は許可を/etc/sudoers
に変更しました ファイル。したがって、sudoを使用してコマンドを実行するたびに、次のエラーが発生します。
sudo: unable to stat /etc/sudoers: No such file or directory
sudo: no valid sudoers sources found, quitting
sudo: unable to initialize policy plugin
ユーザーとしてログインし、権限を元に戻すことができました。したがって、ls -l /etc/sudoers
を実行すると 私が得るコマンド:
-r--r----- 1 root root 755 жов 14 2016 /etc/sudoers
しかし、私はrootを所有者にすることができませんでした。また、sudoを使用しようとすると、同じエラーが発生します。
私はこの問題について多くの恐ろしいことを読みました。それで、私がこの問題を解決するのを手伝ってくれませんか?アドバイスをいただければ幸いです。
承認された回答:
ショートカット:
dpkg-reconfigure: /etc/sudoers
の許可を得て何か問題がある場合 ファイル、ルートアクセス実行:dpkg-reconfigure sudo
。 pkexec dpkg-reconfigure sudo
のようなもの 仕事をする必要があります。
visudo: dpkg-reconfigure
の場合 うまくいかない場合は、pkexec visudo
を実行してください。 、sudoers
ファイルはエディタで開かれ、ファイルを保存して閉じます。visudo
許可を修正します。
結局のところ、sudoers.d
を変更した場合 ディレクトリのアクセス許可も実行してから、次のコマンドを実行します:
pkexec chmod 755 /etc/sudoers.d
ファイルが存在し、それらのアクセス許可が正常であるにもかかわらず、このエラーメッセージが表示される場合、私の頭に浮かぶ唯一の可能性は、他のアクセス許可とsudo
が壊れていることです。 /etc/sudoers
にアクセスできません 。最も可能性の高い推測は、/etc/
の権限です 。
したがって、実行します:
pkexec chmod 755 /etc
ただし、壊れた、または削除されたsudoers
を復元するための詳細な手順が必要な場合は、これで完了です。 権限がめちゃくちゃになっているファイルが続きます。別の方法で修正します。
はじめに
/etc/sudoers
をいじりました あなたと同様のエラーを取得するファイル。私は本当に近づいているので、私は完全に私のものを削除し、それはあなたのものとまったく同じになりました。
問題を解決するために私がしたこと:
ルートアカウントがロックされていて、パスワードがないため、やりたいことができませんでした。ただし、rootアカウントがアクティブでパスワードを持っている場合は、su -
を使用してrootユーザーに切り替えます。 この部分はスキップしてください。そうでない場合は、指示に従ってください。
先に進む前に、いつでもライブディスクを使用してchroot
を実行できることを述べておく必要があります。 あなたのシステムには、ライブディスクを使用したchrootに関する多くの指示があるので、これらすべての指示を再度与えることはしません。代わりに、ライブディスクがなく、この問題を修正するために、すでに持っているものを使用します。 cheroot
に満足している場合 そうすれば、それでも仕事ができます。
ルートアクセスの取得
- システムを再起動します
- grubが表示されたら、 eを押します。 編集するには
- linuxで始まる行の最後に、
init=/bin/bash
を追加します。 - CTRLを押します + X
これで、ルートアクセス権を持つbashシェルにドロップされます。まず、書き込みアクセス権を使用してファイルシステムを再マウントします:
mount -o remount,rw /
次に、rootユーザーのロックを解除し、パスワードを設定します。
passwd -u root
passwd root
/etc/sudoers
の場合 /etc
にはまだ存在します 、別の場所に移動します:
mv /etc/sudoers /etc/sudoers.broken
このファイルが欠落していることをパッケージマネージャーに通知し、正しいファイルに置き換えるため、存在しないようにする必要があります。
ほぼ完了です。システムを再起動してください。通常のユーザーとしてログインし、ターミナルを開いてからsu -
を試してください rootユーザーに切り替えます。これができなかったので、 CTRLを使用しました + ALT + F1 、tty1
に移動します 、次に、設定した新しいパスワードを使用してrootとしてログインしました。
sudoersを元に戻す
sudo
を再インストールするだけです。 パッケージですが、再インストールしてもこのファイルは元に戻りません。dpkg
に通知する必要があります 次のように、不足している構成ファイルも修正します:
apt-get -o Dpkg::Options::="--force-confmiss" install --reinstall sudo
/etc/sudoers
のインストールについて尋ねられることを忘れないでください ファイル、y
を挿入する はいと言ってください。
それがうまくいかなかった場合は、rootとして次のようにしてください:
mkdir /root/tmp
cd /root/tmp
apt-get download sudo
dpkg-deb -x sudo*.deb .
cp etc/sudoers /etc/sudoers
cd /root
rm -r tmp
これで、権限間にいくつかの違いがある可能性があります。dpkg-reconfigure sudo
を実行してください。 それを修正します。動作しなかった場合は、visudo
を実行します rootユーザーとして、sudoers
ファイルはエディタで開かれ、ファイルを保存して閉じます。visudo
許可を修正します。
すべてが正常に行われると、sudoersファイルが元に戻り、以前と同じようにsudoを使用できるようになります。