在Linux上使用sudo时,它会要求输入root密码,但这仅是您首次运行时输入。如果您运行另一个sudo命令,它会记住您之前已经输入了密码并且不要求输入密码:
thomas@ubuntu:~$ sudo id
[sudo] password for thomas: ******
uid=0(root) gid=0(root) groups=0(root)
thomas@ubuntu:~$ sudo id
uid=0(root) gid=0(root) groups=0(root)
sudo怎么做?此信息存储在哪里?我的想法是,它会记住终端ID(如pts / 1),但是此存储在何处?使用命令完成第一个sudo进程后,对吗?
我知道sudo是setuid程序,因此它始终具有root特权,但是我仍然想不出一个存储用户已经输入密码的信息的好地方。是否有一些守护进程参与其中?
1
还有的须藤如何在这里工作一个很好的概述:aplawrence.com/Basics/sudo.html它详细须藤的行为与记忆密码(如默认的超时时间为5分钟),但它不包括的具体细节如何须藤记住密码。仍然很有趣。