错误消息“ X不在sudoers文件中。这起事件将得到报告。”从哲学/逻辑上讲?


31

除了问题“ 用户名不在sudoers文件中。将报告此事件 ”,该问题解释了错误的程序方面,并建议了一些解决方法,我想知道:此错误是什么意思?

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

错误的前一部分清楚地解释了错误。但是第二部分说“将报告此错误”?!但为什么?为什么会报告错误,在哪里?给谁?我既是用户又是管理员,没有收到任何报告:)!


12
哲学上?!?还是技术上?
杰夫·谢勒


9
一个(好的)系统静默地记录了很多东西。很多很多的东西。特别是错误。特别是如果它认为它们是恶意的。我认为通过问“从哲学上讲”,OP会问为什么这个特定的具体错误会以一种令人生畏的方式警告您有关报告的信息,而其他大多数故障却是默默报告的。这可能只是原始编码器当前编写的内容,但是在许多版本之后,它从未改变过,并且可能具有更深的含义。或者可能不是。如果这是重点,我想这是我曾多次想知道的一个好问题。
xDaizu

4
据推测,这可以追溯到您使用一台计算机拥有整个建筑物并且管理员/操作员将计算机作为全职工作来照顾的时候。
user253751'18年

1
几年前,当我上大学的时候,发生sudo了什么事,我试图在我的个人Linux机器上以root身份做某事。所以,我跑了su。当它拒绝我的密码时,我再次尝试几次以为我输错了密码。最终,我意识到该终端已登录到学校的电子邮件服务器中。此后不久,电子邮件服务器系统管理员问我为什么试图在他的系统上扎根。因此,即使是在早期,显然也存在某种报告sudo
Scott Severance

Answers:


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

如果设置,则如果调用用户不在文件中,则邮件将发送给mailto用户sudoers默认情况下,此标志是打开的


或更常见的情况是ime 3)有人在欺骗du。在执行此操作时,我曾在一位雇主那里定期将电子邮件退回给我,收件人清单,信号指示办公室的位置以及警告电子邮件的内容会随着办公室外的反弹而退回给我。我想我曾经去他们的办公室道歉,并吓了一跳。也许是,尽管他是一位从事平凡活动的知名人士,但我有时还是穿着黑色连帽衫围着这个地方,还有一对DM,如库存照片中的小伙子们,@ 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 Wiki

组adm用于系统监视任务。该组的成员可以读取/ var / log中的许多日志文件,并且可以使用xconsole。从历史上看,/ var / log是/ usr / adm(后来是/ var / adm),因此是组的名称。

adm组中的用户通常是管理员,该组权限旨在使他们无需读取日志文件即可su

默认情况下,sudo使用Syslog auth工具进行日志记录sudo的记录行为可以使用被修饰logfilesyslog在选项/etc/sudoers/etc/sudoers.d

  • logfile选项设置sudo日志文件的路径。
  • syslogsyslog(3)用于记录日志时,该选项设置Syslog工具。

系统日志auth设施被重定向到/var/log/auth.logetc/syslog.conf由下列配置节的存在:

auth,authpriv.*         /var/log/auth.log

7

从技术上讲,这没有什么意义。许多(如果不是全部)其他软件都会记录登录失败,失败或其他情况。例如sshdsu

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似乎在与恰巧运行他们无法使用的命令的用户进行通信时采取了某种激进的哲学。


6

这仅表示有人尝试使用该sudo命令(以访问管理员权限),而该人无权使用该命令(因为它们未在sudoers文件中列出)。这可能是黑客尝试或某种其他形式的安全风险,因此该消息表明,尝试使用的信息sudo将报告给系统管理员,以便他们进行调查。


1
在我的本地计算机上,我是唯一的用户和管理员,我可以告诉您我没有收到任何报告!
Kasramvd

4
@Kasramvd您可能在某个文件中的某个位置执行了操作。我不确定该sudo将报告发送到哪里。在您的情况下,只有一个用户,这可能不是很重要。
Time4Tea

2
@Kasramvd您是否已检查过发送给root用户的电子邮件?另外,您是管理员,但您的帐户没有sudo吗?您如何处理特权升级?
doneal24 '18

@Kasramvd它不会报告给你....
托尔比约恩Ravn的安德森

1
@Kasramvd您以为您是管理员。操作系统清楚地告诉您,您无权充当管理员-您充其量是硬件的所有者,但这不一定使您成为管理员
slebetman
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.