Как правильно настроить файл sudoers, на debian wheezy?

Я видел много сообщений в блоге, которые говорят, достаточно сделать

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 

3 Solutions collect form web for “Как правильно настроить файл sudoers, на debian wheezy?”

Вы не добавили правила sudo, поэтому вы не можете использовать sudo для чего-либо.

adduser USERNAME sudo добавляет указанного пользователя в группу sudo . Группа с таким именем должна существовать; создайте его с помощью addgroup sudo если это не так. После добавления пользователя в группу пользователь должен выйти из системы и вернуться к нему, чтобы членство в группе вступило в силу.

sudo не является специальным именем группы. Это соглашение, позволяющее пользователям в группе sudo запускать команды как root через утилиту sudo . Для этого требуется следующая строка в файле sudoers :

 %sudo ALL = (ALL) ALL 

Запустите visudo для редактирования файла sudoers, никогда не редактируйте его напрямую.

Я понятия не имею, почему вы считаете, что «это только защищает способность». Нет ничего особенного в умении. После того как вы разрешили пользователю запускать команды с правами root, этот пользователь может запускать sudo aptitude … или sudo apt-get … или sudo service … или sudoedit для редактирования файлов, для которых требуется разрешение root для редактирования. Нахождение в файле sudoers напрямую не изменяет привилегии вашего пользователя, и это значит, что он позволяет запускать sudo для запуска команд с правами root. Команды запускаются от имени root только тогда, когда вы запускаете их через sudo . Некоторые программы могут делать это автоматически, особенно программы GUI, где пользовательский интерфейс работает без особых привилегий, и только бэкэнд работает как root, но команды, выполняемые как root, всегда выполняются sudo .

Возможно , произошло: sudo кэширует ваш пароль. Итак, после того, как вы правильно завершили реализацию sudo в своей системе, вы должны ввести пароль для первой команды, а после этого он кэшируется в течение некоторого времени. Если это произойдет, и вы выполните последовательность

 sudo aptitude install sendmail sudo apt-get install sendmail 

Затем вам нужно будет предоставить пароль для первой команды, но не на второй (по крайней мере, пока вы все еще находитесь в таймауте). Это может показаться, что он защищает только первую команду, но не вторую. Без дополнительной информации (полные стенограммы оболочки), нет способа сказать …

Если вы выполните приведенный выше ответ, вы пойдете правильно. По крайней мере, в моем Debian Jessie я сделал мягкую ссылку на / usr / bin команды в пути / sbin. Например: / sbin / ifup, я помещаю мягкую ссылку (ln -s) в / usr / bin, и я могу ее использовать.

Еще одна важная вещь – поставить NOPASSWD следующим образом:

 User_Alias NET = goviedo Cmnd_Alias ETH = /sbin/ifup NET ALL = NOPASSWD:ETH 
  • Как удалять команды sudo удаленно через ssh -t?
  • `sudo -u user` в строке shebang
  • Как я могу выполнить некоторые команды в сценарии оболочки с `sudo`, а другие нет?
  • Ограничить пользователя для запуска определенной команды sudo
  • Какой сценарий может позволить обычным пользователям использовать пространства имен в сети?
  • `sudo tar`, но имеет полученный файл
  • Как я могу сохранить * all * environment vars для определенной команды в sudo?
  • Механизм хранения паролей в судо
  • добавление sudoer в debian
  • Выполнять команды как другого пользователя
  • Пересылка X-окон через су-сессию
  • Linux и Unix - лучшая ОС в мире.