sudo:3 次错误的密码尝试 - root 可以看到明文密码吗?

mat*_*ure 22 security sudo password

如果某些用户无法访问某些命令sudo3 次,这应该在访问日志\错误中报告给 root 用户。

root 可以在日志中的文本中看到这些尝试(如尝试的密码)吗?

vid*_*rlo 40

不,默认情况下不会记录密码。这将是一个安全问题,因为日志可能会被其他管理员读取,从而在密码稍有错误的情况下允许冒充用户。


Rin*_*ind 29

登录尝试成功和不成功都登录

/var/log/auth.log
Run Code Online (Sandbox Code Playgroud)

成功尝试的示例:

Oct 23 21:24:01 schijfwereld sudo: rinzwind : TTY=pts/0 ; PWD=/home/rinzwind ; USER=root ; COMMAND=/bin/bash
Oct 23 21:24:01 schijfwereld sudo: pam_unix(sudo:session): session opened for user root by (uid=0)
Run Code Online (Sandbox Code Playgroud)

并且不成功:

Oct 23 21:25:33 schijfwereld sudo: pam_unix(sudo:auth): authentication failure; logname= uid=1000 euid=0 tty=/dev/pts/1 ruser=rinzwind rhost=  user=rinzwind
Oct 23 21:26:02 schijfwereld sudo: rinzwind : 3 incorrect password attempts ; TTY=pts/1 ; PWD=/home/rinzwind ; USER=root ; COMMAND=/bin/bash
Run Code Online (Sandbox Code Playgroud)

它会记录失败的尝试并记录总共 3 个错误输入的密码。

sudo永远不会显示或存储尝试的密码。

  • 记录密码的唯一方法通常是您忘记在用户名后按 Enter 键。因此,您以“Scott Tiger”的身份登录,而不是使用密码 Tiger 的用户 Scott (5认同)

ilk*_*chu 5

通常的做法是不记录登录尝试中使用的密码,即使相关密码无效。这只是因为该密码可能对同一系统上的另一个用户有效(例如,用户输错了用户名,而不是密码),或者可能是实际密码的简单更改(用户错过了一个字母等)。

这两种情况都会在系统上留下明文密码,容易导致信息泄露。(该密码也可能是其他系统的有效密码,而不是输入该密码的系统,但这对“他们”来说确实是一个问题,而不是“我们”。)

与此有点相关的是用户写密码代替用户名的情况(例如,他们通常使用自动输入用户名的系统,但现在没有,但仍然首先输入密码)。在这种情况下,您将在日志中看到明文密码。这不是最佳选择,但是查看通常失败的登录尝试的用户名是有用的,并且没有简单的解决方案来存储它们而不是作为用户名输入的密码。


也就是说,没有什么可以阻止系统管理员让系统也记录密码。添加日志记录可能可以通过添加一个调用syslog()并重新编译 PAM 模块来完成。(PAM 是 Ubuntu 所sudo使用的,当然这同样适用于网络应用程序和其他一切。)


所以,不,通常管理员无法看到在系统上输入的密码,如果您在不信任的系统上输入密码,严格来说,您应该将其视为丢失并更改。