Главная >> Инструкции >> Команда sudo без пароля Linux

Команда sudo без пароля Linux

Утилита sudo - позволяет выполнять команды с правами суперпользователя обычному пользователю. Для защиты программа каждый раз спрашивает пароль. Это вполне оправданно, так как с помощью пароля система может проверить, что это действительно пользователь, а не программа, которая просто хочет что-то нашкодить в системе, а также убедится что это именно тот пользователь за которого он себя выдает.

Но пароль можно отключить. Я не рекомендую этого делать, но способ есть и в этой статье мы рассмотрим как пользоваться sudo без пароля в Ubuntu.

Команда sudo без пароля в Linux

Чтобы отключить пароль sudo, надо добавить к строчке настройки пользователя или группы директиву NOPASSWD. Синтаксис такой:

имя_пользователя ALL=(ALL) NOPASSWD: ALL

Для того чтобы отключить пароль sudo для определенного пользователя нужно открыть файл конфигурации sudo и отключить запрос пароля следующей строчкой, например для пользователя losst:

sudo visudo

losst ALL=(ALL) NOPASSWD: ALL

Сохраните изменения и закройте файл, на всякий случай напомню что в vi для перехода в режим вставки используется клавиша i, для сохранения команда :w и команда :q для выхода. Теперь sudo не будет запрашивать пароль у выбранного пользователя при выполнении любых команд.

Для того чтобы разрешить пользователю выполнять только некоторые команды без пароля (например apt и reboot) добавьте следующую строчку:

losst ALL=(ALL) NOPASSWD: /usr/bin/apt, /sbin/reboot

Чтобы отключить пароль для группы пользователей используйте следующий код:

%имя_группы ALL=(ALL) NOPASSWD: ALL

Теперь у пользователей группы имя_группы утилита sudo не будет спрашивать пароль, а у всех остальных будет. Чтобы более детально ознакомится с возможностями sudo смотрите статью про настройку sudo в Linux.

21 комментарий к “Команда sudo без пароля Linux”

  1. Добрый день, Сергей !
    Прошу подсказать, как ускорить загрузку Ubuntu 16.04...
    После установки вместо 14.04 при включении пишет слева /dev/sda1: clean , ...../..... files, ....../....... blocks
    Провёл по Вашей методике =Очистка ... , но результат тот же !?

    Ответить
  2. ubuntu 16.04 64bit
    Добавил в /etc/sudoers вместо user ввел своего пользователя:
    user ALL=(ALL) NOPASSWD: /bin/apt-get, /sbin/reboot
    После перезагрузки sudo ругнулась на ошибку, даже рутом логиниться перестала система.
    Пришлось с livecd восстанавливать sudoers.
    Что-то неправильно в вашей инструкции.

    Ответить
  3. Если так или любым способом отменить ввод пароля для sudo, то все программы смогут без разрешения владельца делать любые действия с системой и файлами. Получается что этот способ из разряда: если мало проблем, надо их создать.

    Ответить
  4. после того как я вставил user ALL=(ALL) NOPASSWD: ALL у меня теперь вообще sudo не работает , даже sudo visudo не запускается , вот ошибка "Пользователю nikolai-bombom запрещено выполнять '/usr/sbin/visudo' с правами root на nikolai-bombom" . ХЕЛП ПЛИЗ

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

    Ответить
  6. Нефига не работает. Точней, в терминале да, работает. Но в менеджере прог при установке или удалении программ, все равно запрашивает пароль.
    Как сделать вообще без пароля?

    Ответить
  7. Не сработает как описано в статье, прописывать после root или где то там сверху. Нужно прописывать после правил для группы sudo. Потому что man sudoers говорит, что если несколько записей будут касаться пользователя, будет использоваться последняя. А по описанному примеру тогда, будет срабатывать для группы sudo нижний вариант, и так как пользователь в эту группу входит, и пароль будет запрашиваться.

    Или еще проще использовать папку /etc/sudoers.d/, туда можно просто положить любой файл с "имя_пользователя ALL=(ALL) NOPASSWD: ALL" внутри. Так как в visudo есть строчка "includedir /etc/sudoers.d"

    Ответить
  8. Важный момент:
    Если пользователь состоит в группе sudo или admin, то скорее всего работать ничего не будет. Пользователь должен быть прописан в /etc/sudoers и нигде более (касаемо sudo естественно).

    Ответить
  9. у меня не отключалось запрашивание пароля из-за того что я добавил табуляцию между именем пользвателя и параметрами. Т.е. было my_user ALL=(ALL) NOPASSWD: ALL .
    - это ASCII символ длинного пробела (добавил пробелы возле кавычек, чтобы этот код ASCII не отобразился как пустое пространство здесь) который, возможно, не коректно обрабатывается visudo. Обнаружил это скопировав строчку с параметрами из /etc/sudoers в sublime text. Теперь пароль не запрашивается

    Ответить
  10. Ну вот, парсер комментариев отобразил вместо знакового кода ASCII пробел. Речь идет о коде "Открывающая угловая кавычка + 0 + х + а + 0 + закрывающая угловая кавычка". Объяснил как мог)

    Ответить
  11. Я прописал данную строчку losst ALL=(ALL) NOPASSWD: ALL
    При перезагрузке терминала всё равно спрашивает, но только первый раз, остальные разы без пароля.

    Ответить

Оставьте комментарий