Изменено pam.d - невозможно su и sudo [duplicate]

Как редактировать недопустимый файл sudoers?

Вот что происходит:

$ sudo visudo >>> /etc/sudoers: syntax error near line 28 <<< sudo: parse error in /etc/sudoers near line 28 sudo: no valid sudoers sources found, quitting
213
задан 10 October 2017 в 13:32

92 ответа

Нет ничего плохого #include sudoer.d удаление #include sudoer.d не имеет никакого значения.

Но, пожалуйста, убедитесь, что у вас нет синтаксических ошибок. У меня была одна и та же проблема, но я потратил несколько часов на исправление и выяснил, что это синтаксические ошибки. Обратитесь к руководству и сделайте это правильно.

Например, скажите, что ваше имя пользователя: dolly, я использовал следующее неверное

 dolly ALL = (ALL) ALL NO PASSWD: ALL

правильный синтаксис

dolly ALL = (ALL) ALL //give permission to everything, not good

или

dolly ALL=(ALL) NOPASSWD:/usr/bin/thurderbird //good, give specific permission

надеюсь, что это поможет

5
ответ дан 14 August 2018 в 13:15
  • 1
    Лучший подход, чем убедиться, что у вас нет синтаксических ошибок, - всегда использовать visudo при редактировании этих файлов, что гарантирует, что у вас нет синтаксических ошибок для вас, прежде чем он изменяет файл. visudo предназначен не только для редактирования /etc/sudoers - он также будет создавать и редактировать файлы в /etc/sudoers.d. Он также будет работать с любым текстовым редактором, который вы хотите. Подробнее см. В manpage . – Eliah Kagan 3 July 2012 в 05:12
  • 2
    Что касается специального разрешения, обратите внимание, что это полезно только для очень простых команд / приложений, потому что любое достаточно сложное приложение (в том числе thunderbird, которое никогда не должно запускаться как root в любом случае) будет эффективно предоставлять пользователю полный доступ к системе при запуске как корень. Даже кажущаяся простая функциональность открывает дверь для полного доступа root. Например, пользователь, который может запускать программу, которая может сохранить файл в произвольном месте с правами root, может получить полный доступ к корневому каталогу (они могут установить свои собственные /etc/sudoers, или если ограничения синтаксиса предотвращают это, они могут установить свои собственные /etc/crontab). – Eliah Kagan 3 July 2012 в 05:16

Введите in:

pkexec visudo

Затем измените последнюю строку

#includedir /etc/sudoers

To:

#includedir /etc/sudoers.d

Он должен решить вашу проблему.

19
ответ дан 14 August 2018 в 17:28
  • 1
    Я заметил, что удаление ведущего # из #includedir вызывает синтаксические ошибки, # является частью директивы, по крайней мере, на Ubuntu 12.10. – SAFX 5 April 2013 в 07:46
  • 2
    Это просто избавило меня от головной боли. Благодаря тонну :) – Nitroware 16 July 2017 в 21:29
  • 3
    У меня нет visudo. Поэтому я сделал pkexec vim. Затем он отображает список пользователей и запрашивает пароль. Когда я предоставляю пароль, он выдает ошибку как " Ошибка при выполнении команды в качестве другого пользователя: не разрешено & quot ;. Пожалуйста помоги – Shyamkkhadka 24 May 2018 в 08:48

Другие вопросы по тегам:

Похожие вопросы: