私は最近Ubuntu 14.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
しかし、ルートを所有者にすることはできませんでした。また、ユーザー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
に満足しているなら、それでもうまくいきます。
init=/bin/bash
を追加しますこれで、ルートアクセスのある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としてログインしました。
単純にSudo
パッケージを再インストールする必要がありますが、再インストールしてもこのファイルは戻されません。dpkg
に、欠落している構成ファイルも修正するように指示する必要があります。
apt-get -o Dpkg::Options::="--force-confmiss" install --reinstall Sudo
y
を挿入すると、/etc/sudoers
ファイルのインストールに関する質問が表示されることに注意してください。
うまくいかなかった場合は、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を使用できるようになります。