- Добавление NOPASSWD в /etc/sudoers не работает
- 4 ответа
- Не работает NOPASSWD в SUDOERS
- Добавление NOPASSWD в / etc / sudoers не работает
- Файл Sudoers, включите NOPASSWD для пользователя, все команды
- Предисловие
- Вопрос
- Почему опция sudoers NOPASSWD не работает?
- редактировать
- ПРИМЕЧАНИЕ: если вы используете nopasswd на своем ноутбуке, вы всегда должны блокировать свой компьютер, когда уходите, иначе случайный злоумышленник может пойти на компромисс, когда вы встаёте, чтобы положить сливки в кофе.
Добавление NOPASSWD в /etc/sudoers не работает
С 14.04 здесь. Я SSHed в мою машину, добавил следующую строку в /etc/sudoers :
А потом попытался запустить:
. и меня спрашивают мой пароль. Зачем.
Я не хочу, чтобы у меня запрашивали пароль при выполнении этой операции. Обратите внимание, что когда я бегу ls -ltr / Я получил:
Но я не думаю, что это имеет значение, потому что я настроил себя как «sudoer», верно?
Что еще более важно, что мне нужно сделать, чтобы я мог бежать sudo mkdir /etc/blah как мой текущий пользователь ( myuser ) без запроса пароля?
Вот мой весь /etc/sudoers файл:
4 ответа
Это последовательность / порядок правил, которые вызвали это. Последнее правило имеет преимущество.
Чтобы решить вашу проблему, просто переместите линии,
от sudoers подать в
Это лучший подход, чем редактирование sudoers файл в текстовом редакторе. Если вы случайно вставили ошибки в файл, вы больше не сможете запускать sudo , Всегда используйте visudo , чтобы синтаксис проверялся и вы получали предупреждения об ошибках!
Ваша директива не работает, потому что она переопределена:
Если вы запустите groups По команде вы должны увидеть, что ваш пользователь принадлежит к этим группам.
Если myuser находится в группе sudo, то этот порядок строк не обеспечит беспарольный доступ (как отметил Флориан Диш), потому что 3-я строка переопределяет 1-ю.
Так что просто поместите строки в следующем порядке:
Под учетной записью myuser sudo -l чтобы проверить, какие разрешения есть у myuser.
Если для пользователя совпадают несколько записей, используется последняя. Так что если fizzbuzz а также chadmin являются членами групп admin или же sudo их все равно попросят ввести пароль.
Поместите две строки в конце sudoers файл после #includedir линия.
В идеале, если вы настраиваете, какие команды можно запускать через sudo Вы должны сделать эти изменения в отдельном файле под /etc/sudoers.d/ вместо редактирования sudoers файл напрямую. Вы также должны всегда использовать visudo редактировать файл (ы). Вы никогда не должны предоставлять NOPASSWD на ALL команды.
Пример: sudo visudo -f /etc/sudoers.d/mynotriskycommand
Вставьте свою строку, предоставив разрешение: myuser ALL= NOPASSWD: /bin/mkdir
Затем сохраните и выйдите и visudo предупредит вас, если у вас есть какие-либо синтаксические ошибки.
Вы можете запустить sudo -l чтобы увидеть разрешения, которые были предоставлены вашему пользователю, если какой-либо из NOPASSWD команды появляются перед любым %groupyouarein ALL=(ALL) ALL Команда в выводе вам будет предложено ввести пароль.
Если вы обнаружите, что создаете много этих файлов sudoers.d, то, возможно, вы захотите создать их по имени для каждого пользователя, чтобы их было проще визуализировать. Имейте в виду, что порядок ИМЕН ФАЙЛОВ и ПРАВИЛ в файле очень важен, выигрывает ПОСЛЕДНЯЯ загрузка, независимо от того, разрешено ли оно БОЛЕЕ или МЕНЬШЕ, чем предыдущие записи.
Вы можете управлять порядком имен файлов, используя префикс 00-99 или aa/bb/cc, хотя также имейте в виду, что если у вас есть ЛЮБЫЕ файлы без числового префикса, они будут загружаться после пронумерованных файлов, переопределяя настройки. Это связано с тем, что в зависимости от ваших языковых настроек в «лексической сортировке» оболочка сначала использует числа сортировки, а затем может перемежать прописные и строчные буквы при сортировке в «возрастающем» порядке.
Попробуйте запустить printf ‘%s\n’ <<0..99>,
Источник
Не работает NOPASSWD в SUDOERS
alexey ALL=NOPASSWD: /sbin/shutdown -h now,/sbin/reboot,/usr/sbin/pm-suspend,/usr/sbin/pm-hibernate
или так:
alexey ALL=(root) NOPASSWD: /sbin/shutdown -h now,/sbin/reboot,/usr/sbin/pm-suspend,/usr/sbin/pm-hibernate
Ну и вообще ни на какие команды не действует NOPASSWD.
Подскажите пожалуйста в чем проблема и как поправить?
# Same thing without a password
# %wheel ALL=(ALL) NOPASSWD: ALL
zersaa
Разрешить указанные вами операции можно через PolicyKit
pavel ALL=(ALL) NOPASSWD: /sbin/shutdown -h now
pavel ALL=(ALL) NOPASSWD: /sbin/shutdown -r now
pavel ALL=(ALL) NOPASSWD: /sbin/reboot
вроде все работает.
# Same thing without a password
# %wheel ALL=(ALL) NOPASSWD: ALL
там расскоментируешь только эту вторую строчку, а все остальные строки должны быть закомментированы — тогда усе впорядке. Проверено на 4х машинах, и на 32 и на 64 арче.
ProFfeSsoRr
Вот где
# Same thing without a password
# %wheel ALL=(ALL) NOPASSWD: ALL
там расскоментируешь только эту вторую строчку, а все остальные строки должны быть закомментированы — тогда усе впорядке. Проверено на 4х машинах, и на 32 и на 64 арче.
Но с отдельными командами к сожалению нет
Вполне себе даже по ману.
После чего пытаюсь запустить этот скрипт, а он все равно спрашивает пароль. А мне нужно от рута его запускать, чтобы на хоткей подвесить. ЧЯДНТ?
Пробовал и в каталоге sudo ./backlight и с указанием полного пути. Ну не хочет и все тут.
© 2006-2021, Русскоязычное сообщество Arch Linux.
Название и логотип Arch Linux ™ являются признанными торговыми марками.
Linux ® — зарегистрированная торговая марка Linus Torvalds и LMI.
Источник
Добавление NOPASSWD в / etc / sudoers не работает
С 14.04 здесь. Я SSHed в мою машину, добавил следующую строку /etc/sudoers :
А потом попытался запустить:
. и меня спрашивают мой пароль. Почему.
Я не хочу, чтобы у меня запрашивали пароль при выполнении этой операции. Обратите внимание, что когда я бегу, ls -ltr / я получаю:
Но я не думаю, что это имеет значение, потому что я настроил себя как «sudoer», верно?
Что еще более важно, что мне нужно сделать, чтобы я мог работать sudo mkdir /etc/blah как мой текущий пользователь ( myuser ) без запроса пароля?
Вот весь мой /etc/sudoers файл:
Это последовательность / порядок правил, которые вызвали это. Последнее правило имеет преимущество.
Чтобы решить вашу проблему, просто переместите линии,
из sudoers файла в
Это лучший подход, чем редактирование sudoers файла в текстовом редакторе. Если вы случайно вставили ошибки в файл, вы больше не сможете запускаться sudo . Всегда используйте visudo , чтобы синтаксис проверялся и вы получали предупреждения об ошибках!
Ваша директива не работает, потому что она переопределена:
Если вы запустите groups команду, вы увидите, что ваш пользователь принадлежит к этим группам.
Если myuser находится в группе sudo , то этот порядок строк не обеспечит беспарольный доступ (как отметил Флориан Диш), потому что 3-я строка переопределяет 1-ю.
Так что просто поместите строки в следующем порядке:
Под учетной записью myuser используйте, sudo -l чтобы проверить, какие разрешения есть у myuser .
Если для пользователя совпадают несколько записей, используется последняя . Так что, если fizzbuzz и chadmin являются членами групп, admin или sudo они все равно будут запрашивать пароль.
Поместите две строки в конец sudoers файла после #includedir строки.
В идеале, если вы настраиваете, какие команды можно запускать через, sudo вы должны вносить эти изменения в отдельный файл, /etc/sudoers.d/ а не редактировать sudoers файл напрямую. Вы также должны всегда использовать visudo для редактирования файла (ов). Вы никогда не должны давать NOPASSWD на ALL команды.
Пример: sudo visudo -f /etc/sudoers.d/mynotriskycommand
Вставьте свою строку, предоставив разрешение: myuser ALL= NOPASSWD: /bin/mkdir
Затем сохраните и выйдите, и visudo предупредит вас, если у вас есть какие-либо синтаксические ошибки.
Вы можете запустить, sudo -l чтобы просмотреть разрешения, которые были предоставлены вашему пользователю, если какая-либо из пользовательских NOPASSWD команд появляется перед любой %groupyouarein ALL=(ALL) ALL командой в выходных данных, вам будет предложено ввести пароль.
Если вы обнаружите, что создаете много этих файлов sudoers.d, то, возможно, вы захотите создать их по имени для каждого пользователя, чтобы их было проще визуализировать. Имейте в виду, что порядок ИМЕН ФАЙЛОВ и ПРАВИЛ в файле очень важен, выигрывает ПОСЛЕДНЯЯ загрузка, независимо от того, разрешено ли оно БОЛЕЕ или МЕНЬШЕ, чем предыдущие записи.
Вы можете управлять порядком имен файлов, используя префикс 00-99 или aa / bb / cc, хотя также имейте в виду, что если у вас есть ЛЮБЫЕ файлы без числового префикса, они будут загружаться после пронумерованных файлов, переопределяя настройки. Это связано с тем, что в зависимости от ваших языковых настроек в «лексической сортировке» оболочка сначала использует числа сортировки, а затем может перемежать верхний и нижний регистр при сортировке в «возрастающем» порядке.
Попробуйте запустить printf ‘%s\n’ <<0..99>,
Источник
Файл 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 метод подвержен ошибкам ( о чем свидетельствует этот самый вопрос), в то время как копировать / вставить команду гораздо сложнее испортить
Источник
Почему опция sudoers NOPASSWD не работает?
У меня есть строка NOPASSWD в / etc / sudoers (отредактировано с помощью visudo )
Тем не менее, выход
Этот вид команды работает на машине OpenSuSE, но не на Ubuntu 11.10. Что я делаю неправильно?
Примечание : я не могу найти соответствующие сообщения системного журнала, например, через tail -f /var/log/syslog .
редактировать
Вот / etc / sudoers.
Вы должны поставить эту строку после строки с правилом для sudo группы, потому что, как sudoers говорится на странице руководства :
В идеале, если вы настраиваете, какие команды можно запускать через, sudo вы должны вносить эти изменения в отдельный файл, /etc/sudoers.d/ а не редактировать sudoers файл напрямую. Вы также должны всегда использовать visudo для редактирования файла (ов).
Пример: sudo visudo -f /etc/sudoers.d/slowcpu
Вставьте свою строку, предоставив разрешение: gatoatigrado ALL=NOPASSWD: /bin/set-slow-cpufreq
Затем сохраните и выйдите, и visudo предупредит вас, если у вас есть какие-либо синтаксические ошибки.
Вы можете запустить, sudo -l чтобы просмотреть разрешения, которые были предоставлены вашему пользователю, если какая-либо из пользовательских NOPASSWD команд появляется перед любой %groupyouarein ALL=(ALL) ALL командой в выходных данных, вам будет предложено ввести пароль.
Если вы обнаружите, что создаете много этих файлов sudoers.d, то, возможно, вы захотите создать их по имени для каждого пользователя, чтобы их было проще визуализировать. Имейте в виду, что порядок ИМЕН ФАЙЛОВ и ПРАВИЛ в файле очень важен, выигрывает ПОСЛЕДНЯЯ загрузка, независимо от того, разрешено ли оно БОЛЬШЕ или МЕНЬШЕ, чем предыдущие записи.
Вы можете управлять порядком имен файлов, используя префикс 00-99 или aa / bb / cc, хотя также имейте в виду, что если у вас есть ЛЮБЫЕ файлы без числового префикса, они будут загружаться после пронумерованных файлов, переопределяя настройки. Это связано с тем, что в зависимости от ваших языковых настроек в «лексической сортировке» оболочка сначала использует числа сортировки, а затем может перемежать прописные и строчные буквы при сортировке в «возрастающем» порядке.
Попробуйте запустить printf ‘%s\n’ <<0..99>,
Просто столкнулся с этим тоже.
Моя ситуация — я настраиваю удаленную систему, которая будет работать без головы. Я включил полное шифрование диска (в противном случае злоумышленник с физическим доступом может делать все, что он хочет). Я хочу авторизоваться только с ключом публикации (я удалю пароль, чтобы схема «есть что-то, знаю что-то» была паролем. Защищенная пара ключей — рут-логин, конечно, полностью отключен)
Установщик Ubuntu запрашивает администратора без полномочий root, который добавляется в группу sudo . Затем я вручную добавил себя в sudoers файл, используя sudo visudo :
ПРИМЕЧАНИЕ: если вы используете nopasswd на своем ноутбуке, вы всегда должны блокировать свой компьютер, когда уходите, иначе случайный злоумышленник может пойти на компромисс, когда вы встаёте, чтобы положить сливки в кофе.
Я все еще должен был подтвердить пароль.
Ответ Энзотиба является ключом к тому, что происходит. Группа sudo отображается в sudoers после ввода моего имени пользователя.
Вместо того, чтобы перемещать свою запись ниже строки sudo, я просто удалил строку, которую я ранее добавил, а затем добавил NOPASSWD к записи для %sudo
Это похоже на работу. Опять же, используйте nopasswd, только если вам это действительно нужно (в моем случае это было именно то, что мне было нужно, для большинства пользователей лучше всего требовать пароль для активности sudo)
Дополнительное ПРЕДУПРЕЖДЕНИЕ. Всегда редактируйте sudoers с помощью visudo. (sudo visudo) Кроме того, открыв другое окно, переключенное на пользователя root, вы сможете исправить любые ошибки, которые вы можете сделать при изменении файла sudoers.
В удаленной системе сбросьте шифрование, но пусть все будет принадлежать руту, как в группе «Администраторы» — это не 0!
Вы можете изменить #sudo -g Administrators те, кому нужен полный доступ — не в sudo файле, а в .login профиле. Любой стандартный скрипт теперь может иметь доступ к удаленному компьютеру как «root», и вы можете защитить файлы, которые должны быть защищены.
Другая удобная «группа» — это «Песочница» с каталогом входа в кеш браузера и может читать это свободно и ничего больше. Используйте верхний регистр первого символа.
Источник