Как запустить команду sudo без пароля?

читайте http://linuxgazette.net/105/pitcher.html, вы поймете, почему (и узнайте разницу между жесткими и мягкими ссылками)

1
задан 12 October 2012 в 20:02

2 ответа

Я обнаружил, что наиболее простой способ сделать это, чтобы легко воспроизвести это поведение на нескольких серверах, был следующим:

sudo visudo

Изменить эту строку:

# Members of the admin group may gain root privileges
%admin  ALL=(ALL) ALL

в эту строку:

# Members of the admin group may gain root privileges
%admin  ALL=(ALL) NOPASSWD:ALL

И переместите его под этой строкой:

# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL

вы должны теперь иметь это:

# 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:/sbin:/bin"

# Host alias specification

# User alias specification

# Cmnd alias specification

# User privilege specification
root    ALL=(ALL:ALL) ALL

# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL

# Members of the admin group may gain root privileges
%admin  ALL=(ALL) NOPASSWD:ALL

# See sudoers(5) for more information on "#include" directives:

#includedir /etc/sudoers.d

то для каждого пользователя, которому нужен доступ sudo в :

sudo adduser <user> sudo

и для каждого пользователя, которому нужен доступ sudo БЕЗ пароля:

sudo adduser <user> admin

и наконец, запустите это:

sudo service sudo restart

И это все!

WITH NO password Возможно, вам придется добавить административную группу, поскольку я не думаю он существует по умолчанию.

sudo groupadd admin

Вы также можете добавить пользователя defult AWS ubuntu в группу admin с помощью этой команды:

sudo usermod ubuntu -g admin
70
ответ дан 25 May 2018 в 06:13
  • 1
    Примечание для себя: это соглашение о перемещении менее ограничительных разрешений ниже в стеке. Но это не повлияет на функциональность. – poweratom 5 September 2014 в 14:47
  • 2
    Как пояснил jiminikiz, мне пришлось поместить % admin после % sudo на моем Ubuntu GNOME 16.04 LTS. Кроме того, идентификатор группы администраторов точно не admin , а adm на моем Ubuntu. Не требуется перезагрузка. – hata 26 October 2017 в 13:52

Короткий ответ без использования какого-либо редактора (проверен на bash, очень рискованно выполнять на удаленных хостах).

Настроить sudo для работы без пароля для текущего пользователя:

echo "$USER ALL=(ALL) NOPASSWD:ALL" | sudo tee -a /etc/sudoers

Проверьте редактирование с помощью:

sudo visudo -c

Убедитесь, что вы можете использовать sudo без пароля:

sudo cat /etc/sudoers | grep "$USER"

... или просто попробуйте с помощью:

sudo <anything>
-1
ответ дан 25 May 2018 в 06:13
  • 1
    Это довольно опасный совет ... скопируйте и вставьте это неправильно, и вы заблокируете себя от своего собственного сервера. Отсюда совет использовать visudo. Он проверяет правильность синтаксиса перед сохранением на диске. Итак, для тех, кто хочет это использовать. Не делайте этого на удаленном сервере, о котором вы заботитесь. Возможно, вы захотите включить в ответ предупреждение об этом. – aychedee 14 August 2014 в 14:25
  • 2
    Не использовать visudo - это ужасная идея . Поверь мне, я знаю. – Bailey S 9 September 2015 в 20:22
  • 3
    IMHO, копировать-вставить безопаснее, чем ручное редактирование. Небольшое упрощение: echo "$USER ALL=(ALL) NOPASSWD:ALL" | sudo tee -a /etc/sudoers – theartofrain 6 April 2016 в 02:56
  • 4
    @theartofrain - Обычно я согласен, но visudo особенно приятно не позволять вам разорвать файл sudoers, не блокируя вас на вашем компьютере (или, по крайней мере, sudo). – Jon V 15 March 2017 в 06:43
  • 5
    @JonV Вы также можете потерять права администратора с помощью visudo, но обычно не случайно, потому что visudo сохраняет только изменения, которые были правильно сформированы в соответствии с грамматикой для файлов sudoers . Большинство ошибок являются синтаксически неправильными, поэтому они не причиняют вреда visudo. Если /etc/sudoers или файл в /etc/sudoers.d неверно сформирован , sudo отказывается повышать привилегии для кого-либо в качестве меры безопасности, поэтому не использовать visudo является опасным. (Хотя иногда pkexec может исправить его без перезагрузки.) – Eliah Kagan 28 September 2017 в 15:29

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

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