问题描述
有没有一种方法可以使sudo
命令为我授予比其默认时间更长的权限?
当需要安装许多软件包时,必须不断输入sudo
密码可能会很麻烦,因此,如果存在可以影响其使用期限的命令或配置,那将是很好的选择。
最佳答案
在/etc/sudoers
文件中配置了sudo
的行为。有timestamp_timeout
选项负责在特定时间后重新提示用户输入密码。
timestamp_timeout
Number of minutes that can elapse before sudo will ask
for a passwd again. The timeout may include a frac‐
tional component if minute granularity is insufficient,
for example 2.5. The default is 15. Set this to 0 to
always prompt for a password. If set to a value less
than 0 the user's time stamp will never expire.
要更改该设置,请执行以下操作:
-
在终端中运行
sudo visudo
。visudo
专用于编辑/etc/sudoers
文件,默认情况下使用nano
文本编辑器。 -
查找以
Defaults
开头的行。添加以下行Defaults timestamp_timeout=x
其中x是两次提示之间您想要的分钟数
-
使用
Ctrl
+O
保存文件
次佳答案
从man sudoers
:
timestamp_timeout
Number of minutes that can elapse before sudo will ask
for a passwd again. The timeout may include a frac‐
tional component if minute granularity is insufficient,
for example 2.5. The default is 15. Set this to 0 to
always prompt for a password. If set to a value less
than 0 the user's time stamp will never expire. This
can be used to allow users to create or delete their
own time stamps via “sudo -v” and “sudo -k” respec‐
tively.
如您所见,sudo
的默认超时为15分钟。您可以在/etc/sudoers
中更改此值。
您不直接编辑/etc/sudoers
,而是使用visudo
进行编辑。
从man visudo
:
visudo edits the sudoers file in a safe fashion, analogous to vipw(8).
visudo locks the sudoers file against multiple simultaneous edits, pro‐
vides basic sanity checks, and checks for parse errors. If the sudoers
file is currently being edited you will receive a message to try again
later.
因此,在终端中键入sudo visudo
,这将在nano
text-editor中打开/etc/sudoers
文件。
查找以下行:
Defaults env_reset
并添加timestamp_timeout=X
,其中X是要设置的时间(以分钟为单位)。
因此,例如:
Defaults env_reset,timestamp_timeout=5
如果指定0,将始终询问您密码。如果您指定一个负值,则超时将永远不会过期。
完成后,保存并退出。
第三种答案
尝试这个 。
-
在终端中运行以下命令:
sudo visudo
-
向下滚动到如下所示的行:
Defaults env_reset
-
更改为例如:
Defaults env_reset,timestamp_timeout=30
将30更改为您希望它在超时之前等待的时间(以分钟为单位)。如果每次运行sudo都要求输入密码,也可以将其更改为0;如果不想输入密码,则可以将其更改为-1。按Ctrl
+ X
完成编辑,按Y保存更改,然后按Enter退出。
来源:http://lifehacker.com/make-sudo-sessions-last-longer-in-linux-1221545774
第四种答案
您可以编辑/etc/sudoers
文件(使用sudo visudo
时要小心)并添加如下行
Defaults:myname timestamp_timeout=15
其中myname
是您的用户ID。超时值以分钟为单位。您可以使用值-1永不过期,然后键入sudo -k
终止身份验证,因此您需要再次输入密码。
或者,您可以添加条目以说一条特定命令根本不需要密码。
第五种答案
我不敢相信最简单的命令:
sudo -s
这里没有提到。 “-s”开关为您提供了具有root权限的控制台,该控制台一直持续到您退出它为止。无需费心使用默认设置。