最近、仮想ホストの一部のファイルが壊れ始め、通常/ root以外のユーザーとしてログインしました。最初はすべてが大丈夫でした。以下を使用して必要なものをインストールできました。
sudo apt-get install tree
しかし、どういうわけかファイルをめちゃくちゃにして、これを行うと次のエラーが発生します。
sudo: can't open /etc/sudoers: Permission denied
この問題を診断する方法がわかりません。 Googleが解決策を検索しましたが、sudoが何であるかについて、ユーザーがそれを使用できるようにする方法については何もありません。
詳しくはコメントでお知らせください:)
編集する:
ls -l /etc/sudoers
-r--r----- 1 root root 577 Apr 20 03:42 /etc/sudoers
答え1
失敗する可能性はたくさんありますが、出力を考慮するとほとんどls -l /etc/sudoers
のことが排除されます。
まず、いくつかのクイックチェックを確認してください。
- 何を印刷しますか
type sudo
? - 何を印刷しますか
getent group 0
?
それでは、何が起こっているのかを正しく見るには、rootとしてログインしてsu -
実行してみますか?
# apt-get install ltrace
# ltrace -u <username> sudo true 2>&1 | egrep '(sudo|stat|set.*[ug].*id)'
そして/または
# apt-get install strace
# strace -u <yourusername> sudo true 2>&1 | egrep '(sudo|set.*[ug].*id)'
質問に結果を追加してください。
答え2
最後の手段として/etc/sudoers
ファイルをバックアップ場所にコピーし、apt-get --reinstall install sudo