Когда я работаю sudo
как обычный непривилегированный пользователь, он запрашивает мой пароль, а не пароль root. Это часто удобно, но уменьшает количество информации, которое кто-то должен иметь для запуска команд от имени пользователя root. Итак, как я могу сделать sudo
запрос пароля root вместо пароля вызывающего пользователя?
Я знаю, что это будет сделано с помощью строки /etc/sudoers
, но я никогда не смогу правильно проанализировать грамматику BNF на странице руководства, чтобы выяснить, что именно писать.
Ответы:
Хорошо, здесь снова, поэтому вы можете установить галочку.
В
/etc/sudoers
, добавьте эту строку:чтобы включить флаг rootpw, заставив sudo запросить пароль root.
источник
visudo
команду вместо того, чтобы вручную редактировать/etc/sudoers
файл.visudo
проверяет файл, чтобы убедиться в его правильности перед сохранением, поэтому вы не получите блокировки от sudo, если допустите синтаксическую ошибку ... askubuntu.com/a/81054/166411Вам нужно включить
rootpw
флаг.источник
/etc/sudoers
чтобы включить этот флаг?Я знаю, что этот вопрос старый, но это самый лаконичный вопрос, который я нашел для этого варианта использования (это небольшой процент, правда, но, тем не менее, законный и полезный в правильном сценарии).
После объединения всех шагов из разных источников, включая многочисленные ответы на этот вопрос, эти шаги работают в Ubuntu-Gnome 16.04 LTS:
sudo passwd
sudo visudo
Defaults rootpw
Просто небольшое замечание - я также хотел убедиться, что пользователь root не может быть использован для входа из графического входа, и поэтому искал способы исключения. Очевидно, что пользователь root по умолчанию исключен и не может использоваться для входа через графический вход Gnome - что очень хорошо!
источник
root ALL=(ALL) ALL Defaults targetpw ALL ALL=(ALL) ALL
Позволяет root sudo для каждого пользователя, который знает пароль root. Наивное изменение последних двух строк в вашем решенииDefaults rootpw
приводит к блокировкеsudo
. Вам также нужно добавить своего пользователя вsudoers
лайк так:myusername ALL=(ALL) ALL
или дать аналогичные привилегии группе, а затем добавитьmyusername
в эту группу.Обычная конфигурация, которая требует пароль цели (не то, что мы хотим):
Вторая строка будет выглядеть так: «ВСЕ пользователи на ВСЕХ хостах могут выдавать себя за (ВСЕХ) пользователей при выполнении ВСЕХ команд». и
Defaults targetpw
означает, что для этого им нужно знать пароль пользователя, который имитирует себя.Наивно изменяя эту простую конфигурацию:
не оставил бы ни одного пользователя или группу с правом запуска команд от имени другого пользователя.
Одна рабочая возможность будет:
Говоря простым языком,
myuser
теперь он может запускать ВСЕ команды от имени любого пользователя на ВСЕХ хостах, если известен пароль root.Другая возможность работы будет:
Любой член
sudousers
группы будет иметь возможность запускать ВСЕ команды, как любой пользователь на ВСЕХ хостах, при условии, что известен пароль root. Чтобы позволитьmyuser
запускать команды sudo,sudousers
необходимо добавить его второстепенные группы.источник
Вы можете просто отключить sudo и использовать
su -c
.источник
С помощью
позволит вам запустить столько команд, сколько вы хотите подряд.
источник
sudo
запрос на ввод пароля root, это все равно позволит кому-то получить root-доступ, представив только один пароль (не root). Так что это не решает проблему безопасности, которая вызвала мой вопрос.