Я видел много постов в блогах, которые говорят, что достаточно сделать
aptitude install sudo
su root
adduser USERNAME sudo
Но это только защищает aptitude
, другими словами:
aptitude install sendmail
попросит пароль, вам нужно будетsudo
запуститьaptitude
apt-get install sendmail
не будет запрашивать пароль, никакихsudo
привилегий не требуетсяЕсли вы редактируете защищенные файлы, например, файлы в
etc
нем не будут запрашивать пароль, никакихsudo
привилегий не требуетсяВы можете запускать и останавливать службы, такие как
apache
, он не будет запрашивать пароль, никакихsudo
привилегий не требуется
Как это исправить? Это мой файл sudoers:
This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults env_reset
Defaults mail_badpass
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:$
# Host alias specification
# User alias specification
# Cmnd alias specification
Это вывод sudo -l
:
Matching Defaults entries for root on this host:
env_reset, mail_badpass,
secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin
User root may run the following commands on this host:
(ALL : ALL) ALL
(ALL : ALL) ALL
sudo
root
not-root-user
debian
Lynob
источник
источник
su root
, как вы вошли в систему какroot
пользователь, у вас есть полный доступ ко всему. Чтобы вернуться к регулярному использованию, которое нужно использоватьsudo
для привилегированных операций, выйдите из оболочки, запущенной какroot
.Ответы:
Вы не добавили ни одного правила sudo, поэтому вы не можете использовать sudo ни для чего.
Команда
adduser USERNAME sudo
добавляет указанного пользователя в вызываемую группуsudo
. Группа с таким именем должна существовать; создайте его,addgroup sudo
если это не так. После добавления пользователя в группу пользователь должен выйти и снова войти в систему, чтобы членство в группе вступило в силу.sudo
это не специальное имя группы. Это соглашение, разрешающее пользователям в группе, вызываемой,sudo
запускать команды от имени пользователя root с помощьюsudo
утилиты. Для этого требуется следующая строка вsudoers
файле:Запустите
visudo
для редактирования файла sudoers, никогда не редактируйте его напрямую.Я понятия не имею, почему вы верите, что «это только защищает способности». В способностях нет ничего особенного. После того как вы разрешили пользователю запускать команды от имени пользователя root, этот пользователь может запускать
sudo aptitude …
илиsudo apt-get …
илиsudo service …
, илиsudoedit
редактировать файлы, для которых требуется разрешение root. Нахождение в файле sudoers напрямую не меняет привилегии вашего пользователя, а позволяетsudo
запускать команды от имени пользователя root. Команды запускаются с правами root только при их запускеsudo
. Некоторые программы могут делать это автоматически, особенно программы с графическим интерфейсом, где пользовательский интерфейс запускается без специальных привилегий, и только бэкэнд запускается как root, но команды, выполняемые как root, всегда выполняютсяsudo
.источник
sudo -l
от имени root. Даже если есть полезные определения для пользователей, они не были бы показаны. Таким образом, ваше предположение «Вы не добавили ни одного правила sudo» может быть неверным.sudoers
файл в вопросе.sudo -l
выводе, но, к счастью ... Кажется, что содержание вопроса не может быть целым файлом, поскольку оно не соответствует выводу. По крайней мере, мояsudo
версия не претендует на то, что «пользователь root может запускать следующие команды»sudoers
без какого-либо определения команды (как в вопросе).sudo -l
просто говорит: «Пользователь root не может запускать sudo на darkstar». Иsudo
группа находится в файле sudoers по умолчанию на wheezy. Необходимые записи могут быть перемещены в файл в/etc/sudoers.d
. В любом случае, что бы ни содержал файл sudoers, он не будет делать то, что предполагает Фишер.Что может произошло это: Судо кэширование пароля. Итак, после того, как вы правильно завершили внедрение sudo в вашей системе, вы должны ввести пароль для первой команды, и после этого она будет кешироваться в течение некоторого времени. Если это произойдет, и вы запустите последовательность
Затем вам нужно будет ввести пароль для первой команды, но не для второй (по крайней мере, пока вы находитесь в течение времени ожидания). Может показаться, что он защищает только первую команду, но не вторую. Без дополнительной информации (полных стенограмм оболочки) невозможно сказать ...
источник
Если вы следуете приведенному выше ответу, вы идете правильным путем. По крайней мере, в моей Debian Jessie я сделал мягкую ссылку на / usr / bin команды в пути / sbin. Например: / sbin / ifup, я помещаю мягкую ссылку (ln -s) на / usr / bin и могу использовать ее.
Еще одна важная вещь, чтобы поставить NOPASSWD так:
источник