Узнайте, как выполнять некоторые или все команды sudo без ввода пароля в Ubuntu или любом другом дистрибутиве Linux.
В большинстве дистрибутивов Linux, таких как Ubuntu, Debian, Fedora, механизм sudo позволяет пользователям с правами администратора запускать команды с привилегиями root.
Когда вы запускаете команду с sudo, она запрашивает пароль вашей учетной записи. Время ожидания по умолчанию для пароля составляет 15 минут (в Ubuntu Linux). Это означает, что вам придется снова вводить пароль, если через пятнадцать минут вы запустите команду с sudo.
Некоторым пользователям может быть неудобно постоянно вводить пароль. Это особенно важно, если вы являетесь единственным пользователем в системе или если вы считаете, что некоторые команды можно запускать без пароля.
В Linux вы можете изменить конфигурацию sudo для запуска некоторых или всех команд с помощью sudo, но без ввода пароля.
Если вы находитесь на сервере, вы должны быть особенно осторожны, особенно если у вас включен SSH. Может быть, вы должны отключить SSH доступ с паролем в первую очередь.
Давайте посмотрим, как использовать sudo без пароля.
Но сначала сделайте резервную копию файла sudoer в качестве меры предосторожности:
sudo cp /etc/sudoers ~/sudoers.bak
Используйте следующую команду для редактирования файла /etc/sudoers:
sudo visudo
Откроется текстовый редактор по умолчанию (Nano в Ubuntu) для редактирования этого файла. Все, что вам нужно сделать, это добавить строку в этом файле:
user_name ALL=(ALL) NOPASSWD:ALL
Конечно, вы должны заменить имя пользователя в приведенной выше команде на ваше имя пользователя.
Выйдите из оболочки и войдите снова, и вы увидите отраженные изменения.
Но не рекомендуется запускать все команды sudo без пароля. К счастью, есть решение и для этого.
Вы можете настроить sudo таким образом, чтобы только команды по вашему выбору могли выполняться без пароля.
Например, если вы хотите, чтобы apt update и apt update запускались без ввода пароля для sudo в Ubuntu, вот что вам нужно сделать.
Откройте файл для редактирования:
sudo visudo
И затем добавьте строку как это:
user_name ALL=(ALL) NOPASSWD:/usr/bin/apt update, /usr/bin/apt upgrade
Сохраните изменения, и вы готовы.
Надеюсь, вам понравится эта краткая статья по использованию sudo без пароля. Любые вопросы или предложения всегда приветствуются.
Почему не рекомендуется использовать sudo без пароля? Из соображений безопасности? Но если злоумышленник залогинился в нашу систему, очевидно, что у него уже есть пароль. Так что рекомендация выглядит странно. В AWS EC2 судо без пароля по дефолту, там пароль вообще не используется, всё по SSH-ключу.
пароль от пользователя есть, а пароля root нет