mature Asked: 2018-10-24 10:44:52 +0800 CST2018-10-24 10:44:52 +0800 CST 2018-10-24 10:44:52 +0800 CST sudo: 3 次错误密码尝试 - root 可以以明文形式查看密码吗? 772 如果某些用户不能访问某些命令sudo3 次,这应该报告给 root 用户在 access logs\errors.. root 可以在日志中以文本形式查看这些尝试(如尝试的密码)吗? security password sudo 4 个回答 Voted Best Answer vidarlo 2018-10-24T11:00:04+08:002018-10-24T11:00:04+08:00 不,默认情况下不记录密码。这将是一个安全问题,因为其他管理员可能会读取日志,从而允许在密码输入稍有错误的情况下冒充用户。 Rinzwind 2018-10-24T11:27:09+08:002018-10-24T11:27:09+08:00 登录尝试成功和不成功均已登录 /var/log/auth.log 成功尝试的示例: 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) 并且不成功: 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 它记录失败的尝试并记录总共 3 个错误输入的密码。 尝试的密码sudo永远不会显示或存储。 ilkkachu 2018-10-25T09:53:13+08:002018-10-25T09:53:13+08:00 通常的做法是不记录登录尝试中使用的密码,即使相关密码无效。这仅仅是因为密码可能对同一系统上的另一个用户有效(例如,用户输入了错误的用户名,而不是密码),或者可能是实际密码的小改动(用户错过了一个字母左右)。 这些情况中的任何一种都会在系统上留下明文密码,容易受到某些信息泄露的影响。(密码也可能是其他系统的有效密码,而不是输入密码的系统,但这对“他们”来说确实是一个更大的问题,而不是“我们”。) 与此相关的情况是用户用他们的密码代替他们的用户名(例如,他们通常使用一个自动输入用户名的系统,但现在没有,但仍然首先输入密码)。在这种情况下,您将在日志中有一个明文密码。这不是最佳的,但是查看通常失败的登录尝试的用户名很有用,并且没有简单的解决方案来存储它们,但没有输入作为用户名的密码。 也就是说,没有什么可以阻止系统管理员让系统记录密码。添加日志记录可能通过添加一个调用syslog()并重新编译 PAM 模块来完成。(PAM 是 Ubuntu 所sudo使用的,当然这同样适用于 Web 应用程序和其他一切。) 所以,不,通常管理员看不到系统上输入的密码,但是如果您在不信任的系统上输入密码,严格来说,您应该认为它丢失并更改它。 Shadur 2018-10-25T23:39:35+08:002018-10-25T23:39:35+08:00 更一般地说, unix 中很少有程序将实际密码记录到 syslog 或其他地方——几乎没有充分的理由这样做,而且有充分的理由不这样做。 由于密码的散列方式,系统无法区分错误密码和拼写错误 - 如果您的密码是 %$zDF+02G 并且您输入了 %$ZDF+02G ,它会让您失败如果您键入“rubberbabybuggybumpers”,但记录失败的密码会将有价值的信息泄露给阅读日志的恶意第三方。 我发现一个程序确实有能力记录密码的一个案例(以及一个很好的用例)是在 RADIUS 服务器中,您可以在其中打开更多信息而不是-您可能需要调试模式,然后显式添加表示“是的,包括密码”的标志,因为您的客户端无法连接,您需要绝对排除所有可能的原因......
不,默认情况下不记录密码。这将是一个安全问题,因为其他管理员可能会读取日志,从而允许在密码输入稍有错误的情况下冒充用户。
登录尝试成功和不成功均已登录
成功尝试的示例:
并且不成功:
它记录失败的尝试并记录总共 3 个错误输入的密码。
尝试的密码
sudo
永远不会显示或存储。通常的做法是不记录登录尝试中使用的密码,即使相关密码无效。这仅仅是因为密码可能对同一系统上的另一个用户有效(例如,用户输入了错误的用户名,而不是密码),或者可能是实际密码的小改动(用户错过了一个字母左右)。
这些情况中的任何一种都会在系统上留下明文密码,容易受到某些信息泄露的影响。(密码也可能是其他系统的有效密码,而不是输入密码的系统,但这对“他们”来说确实是一个更大的问题,而不是“我们”。)
与此相关的情况是用户用他们的密码代替他们的用户名(例如,他们通常使用一个自动输入用户名的系统,但现在没有,但仍然首先输入密码)。在这种情况下,您将在日志中有一个明文密码。这不是最佳的,但是查看通常失败的登录尝试的用户名很有用,并且没有简单的解决方案来存储它们,但没有输入作为用户名的密码。
也就是说,没有什么可以阻止系统管理员让系统记录密码。添加日志记录可能通过添加一个调用
syslog()
并重新编译 PAM 模块来完成。(PAM 是 Ubuntu 所sudo
使用的,当然这同样适用于 Web 应用程序和其他一切。)所以,不,通常管理员看不到系统上输入的密码,但是如果您在不信任的系统上输入密码,严格来说,您应该认为它丢失并更改它。
更一般地说, unix 中很少有程序将实际密码记录到 syslog 或其他地方——几乎没有充分的理由这样做,而且有充分的理由不这样做。
由于密码的散列方式,系统无法区分错误密码和拼写错误 - 如果您的密码是 %$zDF+02G 并且您输入了 %$ZDF+02G ,它会让您失败如果您键入“rubberbabybuggybumpers”,但记录失败的密码会将有价值的信息泄露给阅读日志的恶意第三方。
我发现一个程序确实有能力记录密码的一个案例(以及一个很好的用例)是在 RADIUS 服务器中,您可以在其中打开更多信息而不是-您可能需要调试模式,然后显式添加表示“是的,包括密码”的标志,因为您的客户端无法连接,您需要绝对排除所有可能的原因......