Я не заметил этого, но прошло довольно много времени с тех пор, как я ввел пароль для использования привилегий sudo.
Вот мой файл /etc/sudoers
:
#
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults env_reset
Defaults mail_badpass
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
# Host alias specification
# User alias specification
# Cmnd alias specification
# User privilege specification
root ALL=(ALL:ALL) ALL
# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL
# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL
# See sudoers(5) for more information on "#include" directives:
#includedir /etc/sudoers.d
%jupiter ALL=NOPASSWD: /usr/lib/jupiter/scripts/bluetooth, /usr/lib/jupiter/scripts/camera, /usr/lib/jupiter/scripts/cpu-control, /usr/lib/jupiter/scripts/resolutions, /usr/lib/jupiter/scripts/rotate, /usr/lib/jupiter/scripts/touchpad, /usr/lib/jupiter/scripts/vga-out, /usr/lib/jupiter/scripts/wifi
Меня это беспокоит, потому что теперь любой скрипт может работать без ввода пароля.
Я видел следующие вопросы, но они, похоже, не связаны с этим постом:
Как сделать так, чтобы sudo
всегда запрашивал у меня пароль (кроме времени ожидания, указанного в файле /etc/sudoers
?
PS: У меня в псевдониме .bash_aliases
установлены псевдонимы, в которых есть команды, использующие sudo, но я надеюсь, что это не связано с запросом пароля или нет?
Я нашел, что установка серого OpenStack с помощью devstack использование на Ubuntu 12.10 создала файл /etc/sudoers.d/50_stack_sh
чье содержание следующие:
jobin ALL=(root) NOPASSWD:ALL
Defaults:jobin secure_path=/sbin:/usr/sbin:/usr/bin:/bin:/usr/local/sbin:/usr/local/bin
Это удалило подсказку для пароля для всех команд, и я мог выполнить эти команды как корень, и таким образом мне никогда не предлагали пароль.
Для решения этого я удалил /etc/sudoers.d/50_stack_sh
файл (мне больше не был нужен OpenStack). Для тех, кому нужны OpenStack и подсказка пароля также, измените содержание файла /etc/sudoers.d/50_stack_sh
кому:
<username> ALL=(root) ALL
Defaults:<username> secure_path=/sbin:/usr/sbin:/usr/bin:/bin:/usr/local/sbin:/usr/local/bin
Замена <username>
именем пользователя учетной записи, где подсказка пароля необходима.
Этот ответ был основан на пользовательском ответе neckTwi's и вопросе на Unix и Linux относительно синтаксиса/etc/sudoers файла.
N.B.: Я поднял вопрос на ask.openstack.org, просящем разъяснение об упомянутом выше методе, надейтесь, что мы скоро получаем ответ :)
Ваша последняя строка является виновником. Я не знаю почему, возможно это ошибка или я не знаю всех правил Linux.
Вы должны рассмотреть эти строки:
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
Поэтому удалите последнюю строку и поместите ее в /etc/sudoers.d/sudo-jupiter
. Теперь верните обратно разрешения /etc/sudoers
на u-x и перезапустите систему .