我知道手册页对 -K 和 -k 有什么看法:
?K
?K (sure kill) 选项与 ?k 类似,不同之处在于它完全删除用户的缓存凭据,并且不能与命令或其他选项结合使用。此选项不需要密码。并非所有安全策略都支持凭据缓存。
?k[命令]
单独使用时,sudo 的 ?k (kill) 选项会使用户的缓存凭据无效。下次运行 sudo 时将需要密码。此选项不需要密码,添加此选项是为了允许用户从 .logout 文件中撤销 sudo 权限。并非所有安全策略都支持凭据缓存。当与可能需要密码的命令或选项结合使用时, ?k 选项将导致 sudo 忽略用户的缓存凭据。因此,sudo 将提示输入密码(如果安全策略需要密码)并且不会更新用户的缓存凭据。
因此,如果不需要将命令与这些选项结合使用,我是否正确地假设 K 总是使用而不是 k 的更好选择?
sudo -K并且sudo -k,在没有命令的情况下,执行相同的操作:它们使用户的缓存凭据无效。
sudo -k command ...不同的是:它会忽略当前命令的用户缓存凭据,但不会使它们无效。
-k当您想在不使用或破坏缓存凭据的情况下运行单个命令时,请与命令一起使用。(我实际上不确定您为什么要这样做,但功能就在那里。)
二者必选其一sudo -k或者sudo -K,如果你想你的揍缓存的凭据。
概括:
sudo -k # clobbers cached credentials
sudo -K # clobbers cached credentials
sudo -k command # ignores cached credentials
sudo -K command # invalid
Run Code Online (Sandbox Code Playgroud)
更新 :
重温这个答案,它看起来像之间的唯一区别-k和-K是-k接受命令并-K没有。我不相信有两个单独的选项有用,因为-K并没有真正添加任何-k不提供的功能。手册页中的措辞略有不同;-k“使用户的缓存凭据无效”,而-K“完全删除用户的缓存凭据”。我不认为这表明它影响凭据的方式有真正的不同。
| 归档时间: |
|
| 查看次数: |
2848 次 |
| 最近记录: |