私は最近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を使用できるようになります。