Теперь 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. Поэтому я не знаю, что случилось.

  • Как раз перед этим я изменил свою среду var в моем .cshrc VISUAL на: setenv VISUAL /usr/bin/nano .
  • Я пробовал в оболочке unset VISUAL но я все еще получаю ошибку «отказ в доступе».
  • Я пробовал в оболочке setenv VISUAL но это не сработало. Когда я сделал visudo я все еще получаю «разрешение отклонено на / etc / sudoers».
  • Я также запустил это окно оболочки и вошел в новый, и все еще получаю «разрешение отклонено», когда я делаю visudo .
  • Я попытался найти ответ и попробовал несколько вещей, но это не сработало.
  • Поиск stackexchange также не показывал никаких прошлых вопросов.

TRIED: Еще одна вещь, которую я пробовал, и сообщение об ошибке.

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

TRIED: Создание псевдонима, который я назвал editsudo : alias editsudo 'sudo chmod 770 /etc/sudoers; sudo nedit /etc/sudoers; sudo chmod 0440 /etc/sudoers' alias 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 

За man visudo , раздел «Диагностика»:

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

Я ничего не вижу в вашем сообщении, чтобы указать, что вы запустили его как 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 для этого полчаса).