如果我执行以下操作:
sudo su -
//enter password
exit
exit
//login again straight away
sudo su -
Run Code Online (Sandbox Code Playgroud)
sudo 的第二次调用不需要密码,因为即使我再次注销,我仍然在某个时间限制内,这意味着不需要再次提示我输入密码。
因为我正在尝试一些新的 privs 以确保它们工作,所以在我等待超时发生时这真的减慢了我的速度。
有没有我可以运行的命令来重置超时?
顺便说一句,我不想更改超时或影响其他用户!
Sha*_*off 47
sudo -k将杀死超时时间戳。您甚至可以在之后放置命令,例如sudo -k test_my_privileges.sh
来自man sudo:
-K -K (sure kill) 选项与 -k 类似,不同之处在于它完全删除用户的时间戳并且不能与命令或其他选项结合使用。此选项不需要密码。
-k 单独使用时,sudo 的 -k (kill) 选项通过将时间设置为 Epoch 来使用户的时间戳无效。下次运行 sudo 时将需要密码。此选项不需要密码,添加此选项是为了允许用户从 .logout 文件中撤销 sudo 权限。
您也可以永久更改它。来自man sudoers:
时间戳超时
在 sudo 再次要求输入密码之前可以经过的分钟数。如果分钟粒度不够,超时可以包括小数部分,例如 2.5。默认值为 5。将此设置为 0 以始终提示输入密码。如果设置为小于 0 的值,则用户的时间戳将永不过期。这可用于允许用户分别通过 sudo -v 和 sudo -k 创建或删除自己的时间戳。
Shawn 的回答很好,但还有一个额外的配置选项可能在这种情况下有用。
来自man sudoers:
tty_tickets
如果设置,用户必须基于每个 tty 进行身份验证。启用此标志后,sudo 将使用以用户登录的 tty 命名的文件,该文件位于用户的时间戳目录中。如果禁用,则使用目录的时间戳。
默认情况下,此标志处于启用状态。
来自man sudo:
在 sudoers 中启用 tty_tickets 选项时,时间戳具有每个 tty 的粒度,但仍可能比用户的会话长。在使用 devpts 文件系统的 Linux 系统、具有设备文件系统的 Solaris 系统以及使用 devfs 文件系统的其他系统上,这些系统在创建设备时单调增加设备的 inode 数量(例如 Mac OS X),sudo 能够确定基于 tty 的时间戳文件何时过时并将忽略它。 管理员不应依赖此功能,因为它并非普遍可用。
我认为它相对较新。如果您的系统支持它,如果您注销然后登录,sudo 将再次请求您的密码。(sudo -K我的 shell 注销脚本中也有。)
| 归档时间: |
|
| 查看次数: |
25241 次 |
| 最近记录: |