kas*_*vnd 31 sudo user-interface
除了问题“用户名不在 sudoers 文件中。将报告此事件”解释了错误的程序方面并提出了一些解决方法,我想知道:这个错误是什么意思?
X is not in the sudoers file. This incident will be reported.
Run Code Online (Sandbox Code Playgroud)
错误的前一部分清楚地解释了错误。但是第二部分说“会报这个错误”?!但为什么?为什么会报这个错误,在哪里?给谁?我既是用户又是管理员,没有收到任何报告:)!
Kus*_*nda 38
系统管理员可能想知道非特权用户何时尝试使用sudo. 如果发生这种情况,这可能是一个迹象
由于sudo本身无法区分这些,因此尝试使用失败sudo会引起管理员的注意。
根据系统上sudo的配置方式,任何使用尝试(成功与否)都sudo将被记录下来。出于审计目的(以便能够跟踪谁在何时做了什么),成功的尝试被记录下来,并且出于安全考虑而失败的尝试被记录下来。
在我拥有的相当普通的 Ubuntu 设置中,这是登录/var/log/auth.log.
如果用户三次输入错误的密码,或者密码不在sudoers文件中,则会向 root 发送一封电子邮件(取决于 的配置sudo,请参见下文)。这就是“将报告此事件”的含义。
电子邮件将有一个突出的主题:
Subject: *** SECURITY information for thehostname ***
Run Code Online (Sandbox Code Playgroud)
消息的正文包含日志文件中的相关行,例如
thehostname : Jun 22 07:07:44 : nobody : user NOT in sudoers ; TTY=console ; PWD=/some/path ; USER=root ; COMMAND=/bin/ls
Run Code Online (Sandbox Code Playgroud)
(这里,用户nobody试图运行ls通过sudo以root身份,但由于它们中没有失败的sudoers文件)。
如果(本地)邮件尚未在系统上设置,则不会发送电子邮件。
所有这些东西也是可配置的,并且默认配置中的本地变体可能因 Unix 变体而异。
看看手册中的mail_no_user设置(和相关mail_*设置)sudoers(我的重点在下面):
mail_no_user如果设置,如果调用用户不在文件中,邮件将发送给 mailto 用户
sudoers。 默认情况下,此标志处于打开状态。
Tho*_*man 16
在 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
Run Code Online (Sandbox Code Playgroud)
此日志文件通常只能由adm组中的用户访问,即有权访问系统监控任务的用户:
$ ls -la /var/log/auth.log
-rw-r----- 1 syslog adm 76189 Jun 21 16:30 /var/log/auth.log
Run Code Online (Sandbox Code Playgroud)
来自Debian 维基:
组 adm 用于系统监控任务。该组的成员可以读取 /var/log 中的许多日志文件,并且可以使用 xconsole。历史上,/var/log 是 /usr/adm(以及后来的 /var/adm),因此是组的名称。
adm组中的用户通常是管理员,此组权限旨在允许他们无需读取日志文件su。
默认情况下sudo使用 Syslogauth工具进行日志记录。sudo的记录行为可以使用被修饰logfile或syslog在选项/etc/sudoers或/etc/sudoers.d:
logfile选项设置sudo日志文件的路径。syslog选项syslog(3)在用于日志记录时设置 Syslog 工具。通过存在以下配置节,Syslogauth工具被重定向到/var/log/auth.login etc/syslog.conf:
auth,authpriv.* /var/log/auth.log
Run Code Online (Sandbox Code Playgroud)
从技术上讲,它没有多大意义。许多(如果不是全部)其他软件会记录登录、失败或其他情况。例如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
Run Code Online (Sandbox Code Playgroud)
此外,许多系统具有某种自动化功能来检测过多的身份验证错误,以便能够处理可能的蛮力尝试,或者在问题出现后仅使用这些信息来重建事件。
sudo在这里没有做任何特别的事情。所有消息都意味着,sudo在与碰巧运行他们无法使用的命令的用户进行交流时,作者似乎采取了一种有点激进的哲学。
这只是意味着有人试图使用该sudo命令(以访问管理员权限),但他没有使用它的授权(因为它们未在 sudoers 文件中列出)。这可能是一次黑客攻击或某种其他类型的安全风险,因此该消息表示sudo将向系统管理员报告尝试使用 的行为,以便他们进行调查。
| 归档时间: |
|
| 查看次数: |
16312 次 |
| 最近记录: |