Что означает ошибка «X отсутствует в файле sudoers. Об этом инциденте будет сообщено ». Философски / логически значит?

31

Наряду с этим вопрос « Имя пользователя отсутствует в файле sudoers. Об этом инциденте будет сообщено », в котором объясняются программные аспекты ошибки и предлагаются некоторые обходные пути, я хочу знать: что означает эта ошибка?

X is not in the sudoers file.  This incident will be reported.

Первая часть ошибки ясно объясняет ошибку. Но вторая часть говорит, что «Эта ошибка будет сообщено» ?! Но почему? Почему будет сообщено об ошибке и где? Кому? Я и пользователь и администратор и не получил никакого отчета :)!

Kasramvd
источник
12
Философски?!? Или технически?
Джефф Шаллер
9
(Хорошая) система молча записывает множество вещей. Много-много всего. Особенно ошибки. Особенно если он считает их злонамеренными. Я думаю, что, спрашивая о «философски», OP спрашивает, почему эта конкретная конкретная ошибка предупреждает вас таким пугающим образом об отчете, в то время как о большинстве других неудач сообщается молча. Это может быть просто тем, что написал оригинальный кодер на данный момент, но после многих версий он никогда не менялся и мог иметь более глубокий смысл. А может и нет. Если это в центре внимания, я думаю, что это отличный вопрос, который я задавал довольно много раз.
xDaizu
4
Вероятно, это восходит к тому времени, когда у вас было целое здание с использованием 1 компьютера, и администратор / оператор рассматривал компьютер как штатную работу.
user253751
1
Несколько лет назад, когда я учился в университете и до sudoэтого, я пытался сделать что-то в качестве root на своей персональной Linux-системе. Итак, я побежал su. Когда он отклонил мой пароль, я повторил попытку несколько раз, думая, что неправильно набрал свой пароль. В конце концов я понял, что этот терминал был зарегистрирован на почтовом сервере школы. Вскоре после этого почтовый сервер сисадмин спросил меня, почему я пытался получить root в его системе. Таким образом, было явно какое-то сообщение, хотя это было в предыдущие sudoдни.
Скотт Северанс

Ответы:

38

Администратор (-ы) системы, вероятно, захотят узнать, когда непривилегированный пользователь пытается, но не может выполнить команды, используя sudo. Если это произойдет, это может быть признаком

  1. любопытный законный пользователь просто пробует вещи, или
  2. хакер пытается сделать "плохие вещи".

Поскольку sudoсамо по себе не может различить эти, неудачные попытки использования sudoдоводятся до сведения администраторов.

В зависимости от того, как sudoнастроено в вашей системе, любая попытка (успешная или нет) sudoбудет зарегистрирована. Успешные попытки регистрируются в целях аудита (чтобы иметь возможность отслеживать, кто что сделал, когда) и неудачные попытки обеспечения безопасности.

На довольно ванильной установке Ubuntu, которая у меня есть, это вошло в систему /var/log/auth.log.

Если пользователь вводит неправильный пароль три раза или его нет в sudoersфайле, электронное письмо отправляется пользователю root (в зависимости от конфигурации sudo, см. Ниже). Это то, что подразумевается под «об этом инциденте будет сообщено».

Письмо будет иметь заметную тему:

Subject: *** SECURITY information for thehostname ***

Тело сообщения содержит соответствующие строки из файла журнала, например

thehostname : Jun 22 07:07:44 : nobody : user NOT in sudoers ; TTY=console ; PWD=/some/path ; USER=root ; COMMAND=/bin/ls

(Здесь пользователь nobodyпопытался запустить lsс sudoправами root, но не смог, поскольку их не было в sudoersфайле).

Электронная почта не отправляется, если (локальная) почта не была настроена в системе.

Все эти вещи также настраиваются, и что локальные вариации в конфигурации по умолчанию могут отличаться в разных вариантах Unix.

Посмотрите на mail_no_userнастройки (и связанные mail_*настройки) в sudoersруководстве (мой акцент ниже):

mail_no_user

Если установлено, почта будет отправляться пользователю почты, если вызывающего пользователя нет в sudoersфайле. Этот флаг включен по умолчанию .

Кусалананда
источник
Или, чаще, 3) кто-то опечатка. Когда я делал это у одного работодателя, я регулярно отправлял мне письма по электронной почте со списком получателей, подписью с указанием местоположения офиса и содержанием предупреждения в виде сообщений об отсутствии на работе. Думаю, однажды я пришел в их офис, чтобы извиниться и немного напугал их всех. Возможно, это было то, что, несмотря на то, что я являюсь уважаемым парнем, занятым мирскими делами, я иногда обхожу место в черной толстовке с капюшоном и паре марок, как те парни на фотографиях, которые @Kusalananda сможет подтвердить.
Данни
15

В Debian и его производных sudoрегистрируются отчеты об инцидентах, в /var/log/auth.logкоторых содержится информация об авторизации системы, включая имена пользователей и используемые механизмы аутентификации:

$ sudo su
[sudo] password for regularjohn: 
regularjohn is not in the sudoers file.  This incident will be reported.

[as root]

$ tail -n 1 /var/log/auth.log
Jun 21 16:30:26 marvin sudo: regularjohn : user NOT in sudoers ; TTY=pts/19 ; PWD=/home/regularjohn ; USER=root ; COMMAND=/bin/su

Этот файл журнала обычно доступен только пользователям в admгруппе, то есть пользователям, имеющим доступ к задачам мониторинга системы :

$ ls -la /var/log/auth.log
-rw-r----- 1 syslog adm 76189 Jun 21 16:30 /var/log/auth.log

Из вики Debian :

Группа adm используется для задач мониторинга системы. Члены этой группы могут читать много файлов журнала в / var / log и могут использовать xconsole. Исторически, / var / log был / usr / adm (а позже / var / adm), таким образом, название группы.

Пользователи в admгруппе обычно являются администраторами , и это разрешение группы предназначено, чтобы позволить им читать файлы журнала без необходимости su.

По умолчанию sudoиспользуется authсредство Syslog для ведения журнала . sudoповедение протоколирования «S может быть изменено с помощью logfileили syslogвариантов в /etc/sudoersили /etc/sudoers.d:

  • logfileПараметр задает путь к sudoфайлу журнала.
  • syslogОпция устанавливает объект Syslog , когда syslog(3)используются для регистрации.

Syslog authобъект перенаправляются /var/log/auth.logв etc/syslog.confналичии следующей строфы конфигурации:

auth,authpriv.*         /var/log/auth.log
Томас Найман
источник
7

Технически это ничего не значит. Многие (если не все) другие журналы регистрации программного обеспечения, не удалось или иным образом. Например sshdи su:

Jun 21 17:52:22 somehost sshd[25807]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=::1  user=root
Jun 21 17:52:22 somehost sshd[25807]: Failed password for root from ::1 port 37268 ssh2
Jun 21 17:52:23 somehost sshd[25807]: Connection closed by ::1 port 37268 [preauth]
Jun 21 17:52:28 somehost su[25809]: pam_unix(su:auth): authentication failure; logname= uid=1000 euid=0 tty=/dev/pts/15 ruser=someuser rhost=  user=root
Jun 21 17:52:28 somehost su[25809]: pam_authenticate: Authentication failure
Jun 21 17:52:28 somehost su[25809]: FAILED su for root by someuser

Кроме того, многие системы имеют своего рода автоматизацию для обнаружения чрезмерных ошибок аутентификации, чтобы иметь возможность обрабатывать возможные попытки перебора или просто использовать эту информацию для восстановления событий после возникновения проблем.

sudoничего особенного здесь не делает. Все сообщение означает, что автор, sudoпохоже, придерживается несколько агрессивной философии в общении с пользователями, которые случайно запускают команды, которые они не могут использовать.

ilkkachu
источник
6

Это просто означает, что кто-то пытался использовать sudoкоманду (для доступа к привилегиям администратора), у которого нет полномочий на ее использование (потому что они не перечислены в файле sudoers). Это может быть попытка взлома или какой-либо другой вид угрозы безопасности, поэтому в сообщении говорится, что о попытке использования sudoбудет сообщено системному администратору, чтобы они могли провести расследование.

Time4Tea
источник
1
Ну, на моем локальном компьютере я единственный пользователь и администратор, и я могу сказать вам, что я не получил никакого отчета!
Kasramvd
4
@Kasramvd вы, наверное, сделали, в каком-то файле. Я не совсем уверен, куда sudoотправляет отчет. В вашей ситуации только с одним пользователем это, вероятно, не очень важно.
Time4Tea
2
@Kasramvd Вы проверили письмо для пользователя root? Кроме того, вы администратор, но у вас нет sudo для вашей учетной записи? Как вы справляетесь с повышением привилегий?
doneal24
@Kasramvd Тебе не сообщили ....
Торбьерн Равн Андерсен
1
@Kasramvd Вы ДУМАЕТЕ, что являетесь администратором. ОС явно говорит вам, что у вас нет разрешения выступать в роли администратора - вы в лучшем случае являетесь владельцем оборудования, но это не обязательно делает вас администратором
slebetman