sudo не запрашивает пароль даже после перезагрузки

8

Я не редактировал свои sudoers, но мне не нужно вводить пароль при запуске sudoв командной строке. Я могу запустить любую команду sudo без ввода пароля, просто открыв терминал, даже после перезагрузки системы, как я могу это остановить?

uid=1000(ktcool) gid=1000(ktcool) groups=1000(ktcool),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),108(lpadmin),1‌​24(sambashare)
ktcool
источник
5
Защищена ли ваша учетная запись паролем?
Дэвидсон Чуа
5
Кроме того, если вы ввели пароль некоторое время назад, он кешируется некоторое время.
Томас Уорд
В каких группах ты? Используйте /usr/bin/idи читайте man sudoers. Вы rootуже не так?
Вальтинатор
Да, моя учетная запись защищена паролем. Даже после нескольких перезагрузок проблема остается. Может ли кто-нибудь из вас дать мне работу, чтобы выяснить, не отредактировал ли я случайно мою sudoers.
ktcool
1
В AskUbuntu есть несколько похожих вопросов. Поиск в /etc/sudoersфайле и файлах /etc/sudoers.dстрок, содержащих NOPASSWD . Они, вероятно, были добавлены программой во время установки. Эти строки должны быть виновником.

Ответы:

7

Используйте visudoдля редактирования файла sudoers и найдите NOPASSWD:- это директива, отключающая запрос пароля пользователя (вам НИКОГДА не нужно вводить пароль целевого пользователя, то есть пароль root). Простое удаление этой директивы (включая двоеточие в конце) потребует от вас повторного ввода пароля для использования sudo (если вы не использовали его недавно, то он все еще кэшируется, вы можете очистить его с помощью sudo -k)

ThiefMaster
источник
0

В этом /etc/sudoersфайле группа администраторов должна выглядеть так, %admin ALL=(ALL) ALLа с другой стороны - root ALL=(ALL:ALL) ALL. Поскольку в выводе вашей idкоманды показано, что вы принадлежите к нескольким группам, таким как lpadmin, проверьте, есть ли в любой из них строка, аналогичная строке root. Измените их так, чтобы они выглядели так же, как admin, сохраните, перезагрузите компьютер и дайте нам знать, если все вернется в нормальное состояние.

Сергей Колодяжный
источник
0

Попробуйте sudo --listпоказать нам активную конфигурацию sudo для вашей учетной записи:

skath@beast:~$ sudo --list
Matching Defaults entries for skath on beast:
    env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin

User skath may run the following commands on beast:
    (ALL : ALL) ALL
skath@beast:~$

Проверьте метки времени в кэшированных учетных данных, это может помочь понять, почему вас не запрашивают:

skath@beast:~$ sudo ls -al /var/lib/sudo/$USER/
total 20
drwx------ 2 root skath 4096 Jan 28 14:27 .
drwx------ 3 root root  4096 Jan 28 13:52 ..
-rw------- 1 root skath   40 Feb  5 16:18 1
-rw------- 1 root skath   40 Jan 28 14:51 2
-rw------- 1 root skath   40 Jan 28 13:56 tty1
skath@beast:~$

Используйте, sudo --remove-timestampчтобы попытаться стереть все кэшированные учетные данные.

От man sudo:

 -K, --remove-timestamp
             Similar to the -k option, except that it removes the
             user's cached credentials entirely and may not be used
             in conjunction with a command or other option.  This
             option does not require a password.  Not all security
             policies support credential caching.

 -k, --reset-timestamp
             When used without a command, invalidates the user's
             cached credentials.  In other words, the next time sudo
             is run a password will be required.  This option does
             not require a password and was added to allow a user to
             revoke sudo permissions from a .logout file.

             When used in conjunction with a command or an option
             that may require a password, this option will cause sudo
             to ignore the user's cached credentials.  As a result,
             sudo will prompt for a password (if one is required by
             the security policy) and will not update the user's
             cached credentials.

             Not all security policies support credential caching.
Стивен К
источник
-1

sudo -i это путь, если вы не хотите время от времени вводить пароль при внесении изменений в вашу систему (или другие системы), и вы не хотите изменять какие-либо системные файлы. Он переключит вас на root использование вашего sudo пароля пользователя, когда вы закроете консоль или наберете, что exitвы вернулись к обычному пользователю. надеется, что это работает, привет :)

i5fq
источник
2
Проблема в том, что он хочет ввести пароль, но его система не запрашивает его, вместо этого он принимает и выполняет его команды, как если бы он его набрал.
hmayag