- /etc/sudoers — NOPASSWD прописал, но просит пароль
- sudo cmd /opt/lampp/lampp start
- FAQ → sudo без пароля (Linux / Unix)
- Команда sudo без пароля Linux
- Команда sudo без пароля в Linux
- Как запускать определенные команды без пароля Sudo в Linux
- Выполнять определенные команды без пароля Sudo в Linux
- Файл Sudoers, включите NOPASSWD для пользователя, все команды
- Предисловие
- Вопрос
/etc/sudoers — NOPASSWD прописал, но просит пароль
В /etc/sudoers прописал следующую строку
Но при выполнении команды
ALL, NOPASSWD: /opt/lampp/lampp
Потому что ALL первым идет в списке
У меня так работает, например. Sudo version 1.7.4p4
Так же просят пароль.
А ты точно vasya?
Вместо васи мой пользователь.
Ты же root, a не vasya, a я просил запуск от имени vasya
И какое отношение это имеет к исходному вопросу?
По прежднему просит пароль
надо /etc/pam.d/sudo смотреть
ну все прально . чего ты хочеш? расскажи внятно.
sudo cmd /opt/lampp/lampp start пасс не будет требовать
sudo cmd /opt/lampp/lampp start
Всё равно просит пароль.
То, что можно запустить ламп от пользователя это очень хорошо, но выполнение команд от root-а без ввода пароля я так и не могу.
Может, просто поставить sgid-бит и включить нужного пользователя в нужную группу?
потому что не так прописывать надо:
Пробовал, не лечится.
Удалил из каталога /etc/sudoers.d/ файл с именем своего пользователя. Заработало.
а что за дистр если не секрет? небось какой-то болгенос с нескучными обоями, а заодно «нескучным» sudo?
Russian Fedora 14
И что, правда нравится ? :-/
Через 6 дней будет 2 месяца как я перешёл на linux. Так что на правах новичка пока нравится. Как по мне кроме менеджера пакетов в unix разницы не нашёл.
Источник
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
У меня был скрипт в моей системе Ubuntu, развернутый на AWS.
Основная цель этого скрипта – проверить, работает ли определенная служба с регулярным интервалом (если быть точным, каждую минуту) и автоматически запустить эту службу, если она остановлена по какой-либо причине.
Но проблема в том, что мне нужны привилегии sudo для запуска сервиса.
Как вы, возможно, уже знаете, мы должны предоставить пароль, когда мы запускаем что-то от имени пользователя sudo.
Но я не хочу этого делать.
На самом деле я хочу запустить службу c sudo без пароля.
Если вы когда-либо сталкивались с подобной ситуацией, я знаю небольшой обходной путь.
Сегодня в этом кратком руководстве я научу вас, как выполнять определенные команды без пароля sudo в Unix-подобных операционных системах.
Посмотрите на следующий пример.
Как вы можете видеть выше, мне нужно предоставить пароль sudo при создании каталога с именем itsecforu в корневой (/) папке.
Всякий раз, когда мы пытаемся выполнить команду с привилегиями sudo, мы должны ввести пароль.
Однако в моем скрипте я не хочу предоставлять пароль sudo.
Вот что я сделал для запуска команды sudo без пароля на моем компьютере с Linux.
Выполнять определенные команды без пароля Sudo в Linux
По любым причинам, если вы хотите разрешить пользователю запускать определенную команду без указания пароля sudo, вам нужно добавить эту команду в файл sudoers.
Я хочу, чтобы пользователь с именем sk выполнил команду mkdir без указания пароля sudo.
Давайте посмотрим, как это сделать.
Редактируем файл sudoers:
Добавьте следующую строку в конец файла.
Здесь sk – это имя пользователя.
В соответствии с приведенной выше строкой пользователь sk может запустить команду «mkdir» с любого терминала без пароля sudo.
Вы можете добавить дополнительные команды (например, chmod) со значениями через запятую, как показано ниже.
Сохраните и закройте файл.
Выйдите из системы (или перезагрузите компьютер).
Теперь войдите в систему как обычный пользователь “sk” и попробуйте запустить эти команды с помощью sudo и посмотрите, что произойдет.
Несмотря на то, что я запускал команду «mkdir» с привилегиями sudo, пароль не запрашивался.
Отныне пользователю sk не нужно вводить пароль sudo при выполнении команды «mkdir».
При запуске всех других команд, кроме тех, которые добавлены в файлы sudoers, вам будет предложено ввести пароль sudo.
Давайте запустим еще одну команду с sudo.
А теперь? Эта команда предлагает мне ввести пароль sudo.
Если вы не хотите, чтобы эта команда запрашивала пароль sudo, отредактируйте файл sudoers:
Добавьте команду «apt» в visudo, как показано ниже:
Вы заметили, что путь двоичного исполняемого файла apt отличается от mkdir?
Да, вы должны указать правильный путь к исполняемому файлу.
Чтобы найти путь к исполняемому файлу любой команды, например, «apt», используйте команду «whereis», как показано ниже.
Как видите, исполняемый файл для команды apt – /usr/bin/apt, поэтому я добавил его в файл sudoers.
Как я уже упоминал, вы можете добавить любое количество команд с разделенными запятыми значениями.
Сохраните и закройте файл sudoers, как только вы закончите. Выйдите из системы и снова войдите в систему.
Теперь проверьте, можете ли вы выполнить команду с префиксом sudo без использования пароля:
Команда apt не спрашивала у меня пароль, хотя я запускал его с помощью sudo.
Вот еще один пример.
Если вы хотите запустить определенную службу, например apache2, добавьте ее, как показано ниже
Теперь пользователь может запустить команду «sudo systemctl restart apache2» без пароля sudo.
Могу ли я выполнить повторную аутентификацию для конкретной команды в приведенном выше случае?
Просто удалите добавленную команду. Выйдите и войдите обратно.
Кроме того, вы можете добавить директиву PASSWD: перед командой. Посмотрите на следующий пример.
Добавьте / измените следующую строку, как показано ниже.
В этом случае пользователь sk может выполнять команды «mkdir» и «chmod» без ввода пароля sudo.
Однако он должен предоставить пароль sudo при выполнении команды «apt».
Примечание: это только для образовательных целей. Вы должны быть очень осторожны при применении этого метода. Этот метод может быть как продуктивным, так и разрушительным. Скажем, например, если вы разрешите пользователям выполнять команду «rm» без пароля sudo, они могут случайно или намеренно удалить важные материалы. Вы были предупреждены!
Источник
Файл Sudoers, включите NOPASSWD для пользователя, все команды
Предисловие
Это довольно сложный вопрос, связанный с файлом Sudoers и командой sudo в целом.
ПРИМЕЧАНИЕ. Я внес эти изменения на выделенной машине с Ubuntu Desktop 13.04, которую я использую исключительно в учебных целях. Я понимаю, что включить NOPASSWD sudo — огромный риск для безопасности.
Вопрос
Первоначально мое единственное изменение в файле sudoers (/ etc / sudoers) было одной строкой, пользовательской спецификацией, которая должна была позволить nicholsonjf запускать все команды с помощью sudo без необходимости ввода пароля (см. Строку, начинающуюся с nicholsonjf). «):
Однако это не сработало, и мне все равно предлагали ввести пароль каждый раз, когда я запускал команду nicholsonjf. Я смог запустить команды sudo только как nicholsonjf, как только удалил nicholsonjf из групп sudo и admin.
Кто-нибудь может объяснить, почему это сработало?
Это потому, что пользователь ‘nicholsonjf’ наследовал права sudo от двух групповых спецификаций ‘admin’ и ‘sudo’ (как показано ниже в файле sudoers), которые переопределяли пользовательскую спецификацию ‘nicholsonjf’, потому что они находились ниже в файл конфигурации?
Добавленная вами строка была переопределена. От man sudoers :
Когда несколько записей совпадают для пользователя, они применяются по порядку. При наличии нескольких совпадений используется последнее совпадение (которое не обязательно является наиболее конкретным совпадением).
В вашем случае nicholsonjf был членом группы, sudo поэтому для него эта строка применяется:
Если вы хотите переопределить записи, /etc/sudoers просто поместите новые записи после них.
Новая запись должна выглядеть
myuser ALL=(ALL) NOPASSWD: ALL для одного пользователя, или
%sudo ALL=(ALL) NOPASSWD: ALL для группы.
Для одного пользователя добавьте эту строку в конец вашего sudoers файла, используя sudo visudo
Никогда не запрашивать у текущего пользователя пароль, когда он использует команду sudo do
это создаст файл с именем /etc/sudoers.d/dont-prompt- -for-sudo-password и будет означать, что пользователь, который запустил эту команду, не будет запрашивать свой пароль при выполнении sudo команды. Вам по-прежнему будет предложено ввести пароль в других контекстах, например при установке содержимого из графического приложения Ubuntu Software .
Преимущества такого подхода по сравнению с добавлением строки в echo команде к /etc/sudoers использованию sudo visudo (как показано в других ответах)
- /etc/sudoers иногда модифицирована обновлений системы, в то время как файлы в /etc/sudoers.d не
- sudo visudo метод подвержен ошибкам ( о чем свидетельствует этот самый вопрос), в то время как копировать / вставить команду гораздо сложнее испортить
Источник