sudo 的安全性在第一次后不会要求输入密码

sudo 的安全性在第一次后不会要求输入密码

sudo使用并输入密码后,sudo会记住我们已输入密码,下次使用时无需输入密码。

我担心可能会利用这一事实来欺骗用户(admin/sudoer)执行包含命令的脚本sudo,以便该脚本可以使用管理员权限。

使用目录和 ls 进行测试

我想我可能可以证明脚本会要求输入密码,这样这个技巧就不起作用了。我做了以下测试。

我创建了一个由 root 拥有的目录 testDir,并使用chmod我删除了组 (g) 和其他组 (o) 的所有访问权限。我曾经sudo这样做过,所以从现在开始假设我们处于“记住用户不需要输入密码来使用 sudo”状态。

在 testDir 中,我使用创建了一个 testFile sudo(此后我们不再需要输入密码来使用 sudo )。

因为我不是root,ls testDir现在告诉我权限被拒绝。

但是,echo sudo ls testDir| bash将 testFile 打印到终端。

如果我们不是通过管道将“sudo ls testDir”传递给 bash,而是执行包含该行的 shell 脚本,则行为似乎是相同的sudo ls testDir

问题:刚使用过的程序执行时是否应该小心sudo

相关内容