我并不是想删除我的密码或任何东西。我只是希望 ubuntu 在我以管理员用户身份登录后记住我的密码,并在安装/删除软件或运行 sudo 命令时使用该密码。但是非管理员用户应该提示输入管理员密码。有没有办法做到这一点,如果有,为什么 ubuntu 不默认这样做?
答案1
Ubuntu 中没有“管理员密码”之类的东西。任何用户都可以使用 sudo 提升其权限,只要他可以使用即可。默认情况下,sudo
出于安全原因需要您重新进行身份验证。出于这个原因,这是一个合理的默认设置,因为它符合“默认安全”策略。
但是,它只能记住很短的一段时间。这里有一个关于如何记住的问题:sudo 如何记住您已经输入的 root 密码?
从这里开始有几种选择:
无密码 sudo
来自的手册页
sudoers(5)
:默认情况下,
sudo
要求用户在运行命令之前进行身份验证。此行为可以通过标签进行修改NOPASSWD
。只需更改行
/etc/sudoers
以包含此内容。例如:%admin ALL=(ALL) ALL %sudo ALL=(ALL:ALL) ALL
变成
%admin ALL=(ALL) NOPASSWD: ALL %sudo ALL=(ALL:ALL) NOPASSWD: ALL
延长超时时间
默认情况下,
sudo
将“记住”您的密码,以便再次提升您的权限十五分钟。您可以将其延长到更长的时间,比如一天。请注意,这不是在登录时解锁的,而只是在您第一次提升权限时触发的。要扩展此功能,请编辑
/etc/sudoers
文件并找到行Defaults env_reset
并附加到
,timestamp_timeout=1440
它,这样它就变成Defaults env_reset,timestamp_timeout=1440
或者,使用
-1
(负值)来实现真正无限的超时。有关此内容的更多信息,请访问Ubuntu 社区 wiki:RootSudoTimeout。
重要提示!编辑/etc/sudoers
文件时应非常小心。语法不正确会导致系统无法再次提升您的权限,并且您必须执行相当复杂的密码恢复。要安全地编辑它,请sudo visudo
在终端中使用该命令。它不会直接写入文件,而只有当您退出并保存并且语法正确时才会写入。这将避免很多麻烦。
答案2
在您的系统设置中 - 右上角的小齿轮图标 - 您可以打开用户。单击要修改无密码登录的用户。在设置对话框中,您可以更改设置自动登录。