似乎在同一终端中的sudo可以运行它喜欢的任何sudo命令之后,任何程序都会很快运行。
证明:在终端中执行sudo ls。然后在同一个终端上运行这个程序(当然是编译的):
#include <stdlib.h>
int main() {
system("sudo whoami");
return 0;
}它会在不询问密码的情况下说root。
这不是一个很大的安全漏洞吗?根和常规帐户是分开的,因此,除了其他事情,恶意软件不能作为root运行。用户应该在sudo超时之前小心执行吗?
发布于 2016-01-20 15:24:11
默认情况下,在标准Ubuntu安装中,sudo会使sudo访问保持较短的缓存时间(默认为15分钟超时)。
假设的情况要起作用,您需要在之前运行sudo,然后在缓存超时之前运行用sudo指定的代码。在大多数情况下,这并不像您想象的那样“不安全”--许多硬化服务器的超时时间要短得多,或者在我的服务器上,我实际上将其配置为在执行sudo之后立即超时,需要为每个sudo命令设置密码。
为此目的,sudo是“安全的”,因为有过期的超时,以确保sudo不能在一次使用之后被无限和永久地使用。
这种方式并不是“不安全”,尽管有时会出现这种情况--禁用凭据缓存当然解决了这一问题,而且对于系统管理员来说非常容易做到。
在默认安装中,默认的15分钟缓存将显示为“安全性”和“方便性”之间的平衡,因为我们不希望新用户每次输入密码而感到头疼。尽管如此,在安全性很重要的地方,我们可以通过更改配置来锁定sudo。
博士:不,sudo一点也不不安全。是默认的缓存,假设在缓存sudo访问时调用您的缓存,这会触发您的想法,但是当配置了短超时或即时超时时,sudo实际上并不不安全,这是由系统管理员在这些系统上决定是否更改默认值时完成的。
发布于 2016-01-20 15:52:44
这不是一个很大的安全漏洞吗?
不是的。但是是的,为了方便起见,它降低了一些安全性。你可以用128位密码保护一个系统,扔掉它,没有人能访问这个系统.安全?是。方便吗?很难;-)
sudo处于活动状态的情况下,使系统无人值守。sudo -k取消当前的超时。我每次离开我的系统时都会执行这个操作,我相信这15分钟是活动的。用户应该在sudo超时之前小心执行吗?
是也不是。管理员在使用"sudo“时应该小心。不仅仅是在15分钟的时间范围内。所以你问题的第二部分并不重要;)
你是个管理员。你有责任保护你的系统安全。
https://askubuntu.com/questions/723413
复制相似问题