У меня есть строка NOPASSWD в / etc / sudoers (отредактировано с помощью visudo
)
gatoatigrado ALL=(ALL) NOPASSWD: /bin/set-slow-cpufreq
Тем не менее, выход
gatoatigrado@coral:~> sudo -n /bin/set-slow-cpufreq
sudo: sorry, a password is required to run sudo
Этот вид команды работает на машине OpenSuSE, но не на Ubuntu 11.10. Что я делаю неправильно?
Примечание : я не могу найти соответствующие сообщения системного журнала, например, через tail -f /var/log/syslog
.
редактировать
Вот / etc / sudoers.
Defaults env_reset
# things I've tried copying from an opensuse machine
Defaults always_set_home
Defaults env_keep = "LANG LC_ADDRESS LC_CTYPE LC_COLLATE LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE LC_TIME LC_ALL LANGUAGE LINGUAS XDG_SESSION_COOKIE"
root ALL=(ALL:ALL) ALL
gatoatigrado ALL=NOPASSWD: /bin/set-slow-cpufreq
%admin ALL=(ALL) ALL
%sudo ALL=(ALL:ALL) ALL
sudoers
, порядок правил не имеет значения.Ответы:
Вы должны поставить эту строку после строки с правилом для
sudo
группы, потому что, какsudoers
говорится на странице руководства :источник
/etc/sudoers
и теперь она работает. Полное объяснение здесь для людей, которые заинтересованы: techglimpse.com/ubuntu-sudoers-nopasswd-option-not-workingВ идеале, если вы настраиваете, какие команды можно запускать через,
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},{A-Z},{a-z}} | sort
иprintf '%s\n' {{0..99},{A-Z},{a-z}} | LANG=C sort
посмотреть, печатает ли ваш текущий язык иAaBbCc
т. Д., ИлиABC
затемabc
определить, какой будет наилучший префикс «последней» буквы.источник
id
и посмотреть, к каким группам вы принадлежите.Просто столкнулся с этим тоже.
Моя ситуация - я настраиваю удаленную систему, которая будет работать без головы. Я включил полное шифрование диска (в противном случае злоумышленник с физическим доступом может делать все, что он хочет). Я хочу авторизоваться только с ключом публикации (я удалю пароль, чтобы схема «есть что-то, знаю что-то» была паролем. Защищенная пара ключей - рут-логин, конечно, полностью отключен)
Установщик Ubuntu запрашивает администратора без полномочий root, который добавляется в группу
sudo
. Затем я вручную добавил себя вsudoers
файл, используяsudo visudo
:ПРИМЕЧАНИЕ: если вы используете nopasswd на своем ноутбуке, вы всегда должны блокировать свой компьютер, когда уходите, иначе случайный злоумышленник может пойти на компромисс, когда вы встаёте, чтобы положить сливки в кофе.
Я все еще должен был подтвердить пароль.
Ответ Энзотиба является ключом к тому, что происходит. Группа sudo отображается в sudoers после ввода моего имени пользователя.
Вместо того, чтобы перемещать свою запись ниже строки sudo, я просто удалил строку, которую я ранее добавил, а затем добавил
NOPASSWD
к записи для%sudo
Это похоже на работу. Опять же, используйте nopasswd, только если вам это действительно нужно (в моем случае это было именно то, что мне было нужно, для большинства пользователей лучше всего требовать пароль для активности sudo)
Дополнительное ПРЕДУПРЕЖДЕНИЕ. Всегда редактируйте sudoers с помощью visudo. (sudo visudo) Кроме того, открыв другое окно, переключенное на пользователя root, вы сможете исправить любые ошибки, которые вы можете сделать при изменении файла sudoers.
источник
sudo
который использует ваши собственные разрешения для добавления другого пользователя в группу sudo в дополнение к выполнению запрошенной команды.В удаленной системе сбросьте шифрование, но пусть все будет принадлежать руту, как в группе «Администраторы» - это не 0!
Вы можете изменить
#sudo -g Administrators
те, кому нужен полный доступ - не вsudo
файле, а в.login
профиле. Любой стандартный скрипт теперь может иметь доступ к удаленному компьютеру как «root», и вы можете защитить файлы, которые должны быть защищены.Другая удобная «группа» - это «Песочница» с каталогом входа в кеш браузера и может читать это свободно и ничего больше. Используйте верхний регистр первого символа.
источник