- Как запустить команду Sudo без пароля
- Добавление пользователя в файл Sudoers
- Использование /etc/sudoers.d
- Выводы
- Как отключить запрос пароля в команде sudo в Linux
- FAQ → sudo без пароля (Linux / Unix)
- Команда sudo без пароля Linux
- Команда sudo без пароля в Linux
- Как запускать команды sudo без пароля
- Выполнять все команды sudo без пароля [не рекомендуется]
- Зачем использовать visudo для редактирования файла sudoer?
- Запускайте только определенные команды sudo без пароля
Как запустить команду Sudo без пароля
Команда sudo позволяет доверенным пользователям запускать программы от имени другого пользователя, по умолчанию root. Если вы проводите много времени в командной строке, sudo — одна из команд, которые вы будете часто использовать.
Обычно, чтобы предоставить пользователю доступ к sudo, необходимо добавить пользователя в группу sudo, определенную в файле sudoers . В Debian, Ubuntu и их производных членам группы sudo предоставляются привилегии sudo, а в дистрибутивах на основе RedHat, таких как CentOS и Fedora, группа sudo называется wheel .
Каждому члену этой группы будет предложено ввести пароль перед запуском команды sudo . Это добавляет дополнительный уровень безопасности и является предпочтительным способом предоставления привилегий sudo пользователям.
Однако в некоторых ситуациях, например при запуске автоматических сценариев, вам может потребоваться настроить файл sudoers и разрешить определенным пользователям запускать команды sudo без запроса пароля.
Добавление пользователя в файл Sudoers
Файл sudoers содержит информацию, определяющую права пользователя и группы sudo.
Вы можете настроить доступ пользователя sudo, изменив файл sudoers или добавив файл конфигурации в каталог /etc/sudoers.d . Файлы, созданные внутри этого каталога, будут включены в файл sudoers.
Перед внесением каких-либо изменений рекомендуется создать резервную копию текущего файла:
Откройте файл /etc/sudoers с помощью команды visudo :
При внесении изменений в файл sudoers всегда используйте visudo . Эта команда проверяет файл после редактирования и в случае синтаксической ошибки не сохраняет изменения. Если вы откроете файл в текстовом редакторе, синтаксическая ошибка приведет к потере доступа sudo.
В большинстве систем команда visudo открывает файл /etc/sudoers с помощью текстового редактора vim. Если у вас нет опыта работы с vim, вы можете использовать другой текстовый редактор. Например, чтобы изменить редактор на GNU nano, вы должны запустить:
Прокрутите вниз до конца файла и добавьте следующую строку, которая позволит пользователю «linuxize» запускать любую команду с sudo без запроса пароля:
Если вы хотите разрешить пользователю запускать только определенные команды без ввода пароля, укажите команды после NOPASSWD слова NOPASSWD .
Например, чтобы разрешить использование только команд mkdir и mv :
Использование /etc/sudoers.d
Вместо редактирования файла sudoers вы можете создать новый файл с правилами авторизации в каталоге /etc/sudoers.d . Такой подход делает управление привилегиями sudo более удобным в обслуживании.
Откройте текстовый редактор и создайте файл:
Вы можете назвать файл по своему усмотрению, но обычно рекомендуется использовать имя пользователя в качестве имени файла.
Добавьте то же правило, что и в файл sudoers:
Наконец, сохраните файл и закройте редактор.
Выводы
Мы показали вам, как отредактировать /etc/sudoers чтобы вы могли запускать команды sudo без ввода пароля. Это полезно, когда у вас есть сценарии, в которых пользователю без полномочий root необходимо выполнять административные задачи.
Если у вас есть вопросы, не стесняйтесь оставлять комментарии.
Источник
Как отключить запрос пароля в команде sudo в Linux
Не так давно мы разбирали, в чем разница между командами su и sudo . Если вы предпочитаете вторую команду — сегодняшняя статья для вас.
Как известно, команда sudo запрашивает пароль для своей успешной работы. Это логично, так как работа с правами пользователя root требует ответственности. Но, если вы считаете, что пароль вам только мешает — выход есть.
Прежде, чем перейти непосредственно к теме статьи, я хотел бы сделать предупреждение. Отключение пароля в sudo подходит далеко не всем. Новичкам лучше оставить пароль. Кроме того, я не рекомендую убирать этот пароль на серверах и важных рабочих станциях. Но, если Вы — опытный пользователь, а этот компьютер с Linux это Ваш личный компьютер, то воля Ваша…
Настройки sudo хранятся в файле /etc/sudoers, но открывать его обычным способом я не рекомендую. Вместо этого лучше использовать команду
В чём разница? Команда visudo проверяет синтаксис файла /etc/sudoers перед сохранением, что позволяет избежать ситуаций, когда вы сами себя лишили прав администратора и не можете их вернуть. В большинстве дистрибутивов visudo откроет /etc/sudoers через редактор vi, а вот в Ubuntu по умолчанию используется nano.
Неправильно отредактированный /etc/sudoers приводит вот к такому…
Найдите в открывшемся файле нужного пользователя или добавьте нового. Строка должна иметь следующий вид:
[имя_пользователя] ALL=(ALL:ALL) NOPASSWD: ALL
Подобное можно сотворить и с группой. В этом случае строка будет иметь вид:
%[имя_группы] ALL=(ALL:ALL) NOPASSWD: ALL
На самом деле, количество «ALL» в строке опционально и не всегда будет именно таким, как в примере выше. Но это отдельный разговор о синтаксисе файла /etc/sudoers.
Приведем пример. Как видно из скриншота ниже, пользователи, входящие в группу sudo могут использовать одноимённую команду (если учётка или группа, в которую входит учётка, не прописаны в /etc/sudoers, это вызовет ошибку, которую мы подробно разбирали здесь).
Откорректируем строчку, чтобы получилось так:
Теперь у всех, кто входит в эту группу, не будет спрашиваться пароль при выполнении команд через sudo .
Но это ещё не всё. Возможно, что нам не нужно убирать пароль для выполнения всех команд через sudo . Бывает удобно облегчить выполнение некоторых рутинных действий, но оставить пароль для всех остальных. К счастью, файл /etc/sudoers это дозволяет.
В общем виде для пользователей строка будет выглядеть так:
[имя_пользователя] ALL=(ALL:ALL) PASSWD: ALL, NOPASSWD: [команда_1], [команда_2] … [команда_n]
%[имя_группы] ALL=(ALL:ALL) PASSWD: ALL, NOPASSWD: [команда_1], [команда_2] … [команда_n]
Продолжим наш пример с группой sudo. Предположим, что Вы — любитель устанавливать и удалять приложения через Центр приложений. Но это требует прав администратора.
Конечно, можно запустить Центр приложений из терминала через sudo:
но и тут придётся ввести пароль. Альтернатива — отмена ввода пароля для отдельной команды:
Обратите внимание, что надо указывать полный путь к файлу команды. Файлы разделяются запятыми. Параметр PASSWD применяется в sudo по умолчанию, но, поскольку мы прописали NOPASSWD, нам пришлось прописать и PASSWD. Если этого не сделать, пользователю или группе пользователей будет дозволено выполнять только команды, перечисленные после NOPASSWD, а все остальные станут недоступны.
Источник
FAQ → sudo без пароля (Linux / Unix)
Если вы админ системы и вам регулярно приходится поднимать уровень привилегий в системе, то набирать пароль становится очень утомительно, для этого существует sudo nopasswd т.е. sudo без пароля, как это реализовать я и расскажу в этой маленькой заметке.
Существует 2 варианта реализации этой затеи — работающий и правильный, мы рассмотрим оба.
для примера буду использовать логин пользователя: user
Вариант номер раз — работающий
нам необходимо отредактировать файл
необходимо найти и добавить после записи:
После этого, можем заходить под пользователем user и набирать:
Система больше не будет спрашивать пароль
Вариант номер два — правильный
В принципе, все тоже самое, но нам необходимо создать файлик с содержимым
Также у этого файла должны быть определенные права доступа
После этого можем логиниться в систему под учетной записью user, набирать
система пароль спрашивать не будет
Именно этот вариант является более предпочтительным т.к. позволяет контролировать кому и какие права доступа установлены.
Таким образом можно выдавать права определенному пользователю на выполнение определенных действий, без предоставления административных прав на всю систему.
Например: Нам необходимо предоставить права доступа на перезапуск сервиса memcached пользователю vasia, но мы не ходим его делать админом всей системы, но для выполнения этой операции требуются административные привилегии, мы их можем выдать только на выполнение одной операции.
Создаем файл:
Теперь пользователь vasia имеет права sudo на перезапуск сервиса memchached, система не будет требовать от него пароль.
Пойдем еще дальше, а что если пользователю vasia необходимо предоставить права на несколько действий, без админсиких права на всю систему, например, нам необходимо разрешить перезапск определенного сервиса и обновление списка пакетов и установку обновлений системы, тогда файл с содержимым принимает вид:
да именно через запятую, все права доступа и задаются и дальше того что указано в этом файле система выйти не даст.
Вот именно по этой причине второй вариант более правильный, представьте что у вас в системе десятки пользователей, а если сотни, и вам придется просматривать весь конфиг sudoers, понятно что есть поиск, но а во втором варианте, вам достаточно открыть файл с именем пользователя и вы увидите какие права положены именно ему.
Отбираем права у пользователя
Отзыв привилегий в системе производится путем удаления этого файла из директории:
После этого, пользователь vasia, потеряет административный доступ.
Для группы, права предоставляются аналогичным образом, например у нас есть группа powerusers мы хотим предоставить члеманм этой группы права на перезапуск сервисов и обновления системы без предоставления полного административного доступа, тогда создадим файл
Добавим запись вида:
Где:
%powerusers — название группы
Источник
Команда sudo без пароля Linux
Утилита sudo — позволяет выполнять команды с правами суперпользователя обычному пользователю. Для защиты программа каждый раз спрашивает пароль. Это вполне оправданно, так как с помощью пароля система может проверить, что это действительно пользователь, а не программа, которая просто хочет что-то нашкодить в системе, а также убедится что это именно тот пользователь за которого он себя выдает.
Но пароль можно отключить. Я не рекомендую этого делать, но способ есть и в этой статье мы рассмотрим как пользоваться sudo без пароля в Ubuntu.
Команда sudo без пароля в Linux
Чтобы отключить пароль sudo, надо добавить к строчке настройки пользователя или группы директиву NOPASSWD. Синтаксис такой:
имя_пользователя ALL=(ALL) NOPASSWD: ALL
Для того чтобы отключить пароль sudo для определенного пользователя нужно открыть файл конфигурации sudo и отключить запрос пароля следующей строчкой, например для пользователя losst:
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.
Источник
Как запускать команды sudo без пароля
Главное меню » Linux » Как запускать команды sudo без пароля
В большинстве дистрибутивов Linux, таких как Ubuntu, Debian, Fedora, механизм sudo позволяет пользователям с правами администратора запускать команды с привилегиями root.
Когда вы запускаете команду с sudo, она запрашивает пароль вашей учетной записи. Время ожидания по умолчанию для пароля составляет 15 минут (в Ubuntu Linux). Это означает, что вам придется снова вводить пароль, если через пятнадцать минут вы запустите команду с sudo.
Некоторым пользователям может быть неудобно постоянно вводить пароль. Это особенно важно, если вы являетесь единственным пользователем в системе или если вы считаете, что некоторые команды можно запускать без пароля.
В Linux вы можете изменить конфигурацию sudo для запуска некоторых или всех команд с помощью sudo, но без ввода пароля.
Если вы находитесь на сервере, вы должны быть особенно осторожны, особенно если у вас включен SSH. Может быть, вы должны отключить SSH доступ с паролем в первую очередь.
Давайте посмотрим, как использовать sudo без пароля.
Но сначала сделайте резервную копию файла sudoer в качестве меры предосторожности:
Выполнять все команды sudo без пароля [не рекомендуется]
Используйте следующую команду для редактирования файла /etc/sudoers:
Откроется текстовый редактор по умолчанию (Nano в Ubuntu) для редактирования этого файла. Все, что вам нужно сделать, это добавить строку в этом файле:
Конечно, вы должны заменить имя пользователя в приведенной выше команде на ваше имя пользователя.
Выйдите из оболочки и войдите снова, и вы увидите отраженные изменения.
Зачем использовать visudo для редактирования файла sudoer?
Но не рекомендуется запускать все команды sudo без пароля. К счастью, есть решение и для этого.
Запускайте только определенные команды sudo без пароля
Вы можете настроить sudo таким образом, чтобы только команды по вашему выбору могли выполняться без пароля.
Например, если вы хотите, чтобы apt update и apt update запускались без ввода пароля для sudo в Ubuntu, вот что вам нужно сделать.
Откройте файл для редактирования:
И затем добавьте строку как это:
Сохраните изменения, и вы готовы.
Надеюсь, вам понравится эта краткая статья по использованию sudo без пароля. Любые вопросы или предложения всегда приветствуются.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Источник