
Ubuntu日本語フォーラム

ログインしていません。
lubuntu 12.04です。
sudoを実行すると
-------
sudo: /etc/sudoers はユーザーID 1000 によって所有されています。これは 0 であるべきです
sudo: 有効な sudoers のソースが見つかりません。終了します
sudo: ポリシープラグインを初期化できません
-------
と表示されてどうにもなりません。
少し前になんでも所有者を自分にしとけばいいと思い
sudo chown -R username /etcを実行してしまいました。
原因は多分これで間違いないかと思ってます。
どうやら1000が私で、0がroot?のようです。
ここからどう対処すれば再び、sudoコマンドが実行できるようになるでしょうか?
どなたかアドバイスいただけると助かります。
よろしくお願いします。
オフライン
bonbonboby 様へ.
危険な運用をされてますね.
システム系のファイルは root 権限で簡単に操作できないようハードルをあげておくべきです.
例え,使用者が自分一人だけだとしても,操作ミスをそれなりに防ぐことができます.
さて,現在の問題を解決する手段ですが,
sudo コマンドは /etc/sudoers の設定を見て,sudo コマンドで操作できるかを判断します.
/etc/sudoers で許可されていないユーザは sudo コマンドが使えないわけです.
また,/etc/sudoers が悪意のある他者によって改変されないように
パーミッションが 440 で,root:root が所有者となっています.
おそらく,パーミションが変更されたために,悪意のあるアクセスを防ぐ機能が働いたのだと考えられます.
なので,このパーミッションに戻せばいいわけです.
ただ,現在,sudo コマンドが使えないようですので,
live CD (USB)(Ubuntu をインストールする際に用いた CD or USB)から操作すれば良いかと思われます.
オフライン
/home/hogehoge以外はホルダーとその中のファイルの所有者は『root』です。
実行権等をいじっていなければ、
sudo chown -R root root /etc
で、もとに戻るはずですが、ダメならば再インストールをしてください。
今は12.04.1が出ていますので、4月頃より簡単です。
オフライン
そうか、「sudo」が使えないのか。では直接はだめですね。
hellfireさんありがとうございます。
オフライン
Ubuntuをリカバリーモードで起動し、root shell prompt から
# chown -R 0 /etc
で所有者を元に戻すのはどうでしょうか。
https://wiki.ubuntulinux.jp/UbuntuTips/Others/RecoveryMode
オフライン
hellfireさんのを試してみたところ、うまくいきました。
再インストールせずに済みました。
浅はかな考えで所有者変更すべきじゃないことを今回勉強しました。
ありがとうございました。
他のみなさんもアドバイズありがとうございました。
オフライン
そんなに多くはないと思いますが、パッケージによっては /etc 以下に、所有者が root でないファイルを置くものがあります
例えば bind9 では /etc/rndc.key ファイルの所有者:グループが bind:bind です
余力があるなら再インストールしたほうが、不要な不具合が避けられるでしょう
オフライン
ryさんへ
そういったこともあるんですね。これを考慮すれば再インストールは、確かに有効ですが、
環境は整いましたので、今回は知ることができた…に留めておきます^^;
情報ありがとうございました。
オフライン