今visudoはまったく機能しません

今visudoはまったく機能しません

RHEL 5.10

これを行うと、visudo次のエラーが発生します。

chuck 75->visudo
visudo: /etc/sudoers: Permission denied
visudo: /etc/sudoers: Permission denied

sudo exeファイルと/ etc / sudoersのリスト:

chuck 76->ls -l /etc/sudo*
-r--r----- 1 root root 3540 May  9 11:44 /etc/sudoers
-r--r----- 1 root root 3401 Aug 12  2014 /etc/sudoers.20140812

chuck 273->ls -l `which sudo`
-rwsr-xr-x 2 root root 182040 Mar  4  2014 /usr/bin/sudo

chuck 275->ls -l `which visudo`
-rwxr-xr-x 1 root root 98576 Mar  4  2014 /usr/sbin/visudo

ご覧のとおり、私の/etc/sudoers.20140812バックアップファイルには、実際の/etc/sudoersファイルと同じ権限があります。だから私は何が起こっているのかわかりません。

  • これが発生する直前に、.cshrc VISUALの環境変数を次のように変更しましたsetenv VISUAL /usr/bin/nano
  • シェルでこれを試しましたが、unset VISUAL依然として「許可拒否」エラーが発生します。
  • 私はこれをシェルで試しましたが、setenv VISUAL成功しませんでした。これを行っても、visudo「/etc/sudoersに対する権限が拒否されました」というメッセージが表示されます。
  • また、シェルウィンドウを閉じて新しいウィンドウにログインしましたが、それでも「許可を拒否しました」というメッセージが表示されますvisudo
  • 私はインターネットを検索し、いくつかを試してみましたが、成功しませんでした。
  • stackexchangeを検索しても、以前の質問は表示されません。

試してみました:もう一度試したこととエラーメッセージ。

chuck 59->sudo chmod 0440 /etc/sudoers
sudo: /etc/sudoers is mode 0640, should be 0440
sudo: no valid sudoers sources found, quitting

試み:私が呼び出したエイリアスを作成しますeditsudoalias editsudo 'sudo chmod 770 /etc/sudoers; sudo nedit /etc/sudoers; sudo chmod 0440 /etc/sudoers'

chuck 62->editsudo
sudo: /etc/sudoers is mode 0640, should be 0440
sudo: no valid sudoers sources found, quitting
sudo: /etc/sudoers is mode 0640, should be 0440
sudo: no valid sudoers sources found, quitting
sudo: /etc/sudoers is mode 0640, should be 0440
sudo: no valid sudoers sources found, quitting

答え1

man visudo「診断」セクションによると:

 /etc/sudoers.tmp: Permission denied
       You didn’t run visudo as root.

あなたの投稿にはあなたを推薦するものはありません。したルートとして実行します。

努力するsudo visudo

sudoそしてそれ自体に関連するエラーが発生する可能性があります。成功できますかsudo ls ~root


次のマニュアルページを確認することもできます。

 There is a hard-coded list of one or more editors that visudo will use
 set at compile-time that may be overridden via the editor sudoers Default
 variable.  This list defaults to /usr/local/bin/vi.  Normally, visudo
 does not honor the VISUAL or EDITOR environment variables unless they
 contain an editor in the aforementioned editors list.

マニュアルページでは、この問題の回避策について説明しますが、そうすることでセキュリティへの影響を知っておく必要があります。viどこでも非常に強力なので、学ぶことをお勧めします。 (実行から始めてvimtutor、そのために30分を別に確保しておいてください。)

関連情報