像Linux上的大多数东西一样,sudo命令是非常可配置的。您可以让sudo运行特定的命令而不要求输入密码,将特定用户限制为仅允许使用已批准的命令,使用sudo运行日志命令,等等。
sudo命令的行为由系统上的/etc/sudoers文件控制。必须使用visudo命令编辑此命令,visudo命令执行语法检查,以确保不会意外破坏文件。
安装Ubuntu时创建的用户帐户被标记为管理员帐户,这意味着它可以使用sudo。安装后创建的任何其他用户帐户可以是管理员帐户或标准用户帐户-标准用户帐户没有sudo权限。
你可以通过Ubuntu的用户帐户工具以图形方式控制用户帐户类型。要打开它,请单击面板上的用户名,然后选择用户帐户或在短划线中搜索用户帐户。
默认情况下,sudo会在您键入密码后记住它15分钟。这就是为什么在快速连续地使用sudo执行多个命令时只需键入一次密码的原因。如果您要让其他人使用您的计算机,并且希望sudo在下次运行时询问密码,请执行以下命令,sudo将忘记您的密码:
sudo –k
如果您希望每次使用sudo时都得到提示(例如,如果其他人经常访问您的计算机),则可以完全禁用密码记忆行为。
与其他sudo设置一样,此设置包含在/etc/sudoers文件中。在终端中运行visudo命令以打开文件进行编辑:
sudo visudo
尽管它的名字,这个命令默认为新的用户友好的nano编辑器,而不是Ubuntu上传统的vi编辑器。
在文件中其他默认行的下面添加以下行:
Defaults timestamp_timeout=0
按Ctrl+O保存文件,然后按Ctrl+X关闭Nano。Sudo现在总是提示您输入密码。
要设置不同的密码超时(更长的密码超时(如30分钟)或更短的密码超时(如5分钟),请按照上述步骤操作,但使用不同的timestamp\u timeout值。这个数字相当于sudo记住你密码的分钟数。要让sudo记住密码5分钟,请添加以下行:
Defaults timestamp_timeout=5
您还可以让sudo从不要求输入密码—只要您登录,以sudo作为前缀的每个命令都将以root权限运行。为此,请在sudoers文件中添加以下行,其中username是您的用户名:
username ALL=(ALL) NOPASSWD: ALL
您还可以更改%sudo行,即允许sudo组中的所有用户(也称为管理员用户)使用sudo的行,使所有管理员用户不需要密码:
%sudo ALL=(ALL:ALL) NOPASSWD:ALL
您还可以指定在使用sudo运行时不需要密码的特定命令。指定命令的位置,而不是在上面的NOPASSWD后面使用“ALL”。例如,下面一行将允许您的用户帐户在没有密码的情况下运行apt get和shutdown命令。
username ALL=(ALL) NOPASSWD: /usr/bin/apt-get,/**in/shutdown
在脚本中使用sudo运行特定命令时,这尤其有用。
虽然您可以将特定命令列入黑名单,并阻止用户使用sudo运行它们,但这并不是很有效。例如,可以指定用户帐户不能使用sudo运行shutdown命令。但是该用户帐户可以使用sudo运行cp命令,创建shutdown命令的副本,并使用该副本关闭系统。
一种更有效的方法是将特定命令白名单。例如,您可以给标准用户帐户权限,以使用apt get和SHUT命令,但不再使用。为此,请添加以下行,其中standarduser是用户的用户名:
standarduser ALL=/usr/bin/apt-get,/**in/shutdown
以下命令将告诉我们用户可以使用sudo运行哪些命令:
sudo -U standarduser –l
您可以通过添加以下行来记录所有sudo访问。/var/log/sudo只是一个例子;您可以使用任何您喜欢的日志文件位置。
Defaults logfile=/var/log/sudo
使用如下命令查看日志文件的内容:
sudo cat /var/log/sudo
请记住,如果用户具有不受限制的sudo访问权限,则该用户可以删除或修改此文件的内容。用户还可以使用sudo访问根提示符,并运行不会被记录的命令。当与限制访问系统命令子集的用户帐户结合使用时,日志记录功能最为有用。
... 例如,在Ubuntu中,您可以在System Settings>Power中找到这些选项。 ...
...,但apt-get命令的开发并非如此。基于Debian的系统(比如Ubuntu、Linux-Mint和Raspberry-Pi的Raspbian)并没有完全取代它,而是继续使用它的替代品,即更简单的apt命令。 ...
... Raspberry Pi有许多操作系统,其中包括Ubuntu。但那肯定是桌面操作系统吗?嗯,是的,也不是。 ...
... 然而,一旦Debian(Ubuntu软件包的上游源)切换到systemd,Canonical决定也这样做。Ubuntu 15.04(生动的Vervet)的发布是第一个默认情况下使用新的启动系统的版本。 ...
...页面并选择Linux安装程序。Open Broadcaster Software for Linux与Ubuntu 14.04及更高版本正式兼容。因此,OBS应该正确地安装在Ubuntu的衍生物上,比如Lubuntu和Xubuntu。 ...
Canonical对Ubuntu有着雄心勃勃的计划。Linux人类发行版一开始只是一个稍微有点主题的GNOME体验。从那时起,Canonical创建了自己的Unity桌面界面。现在它正在开发一个完全不基于GNOME的新版本。另外,Ubuntu将拥有自己的显示服务器,...
...无线以太网。最常见的接口名是eth0,但是在带有systemd的Ubuntu系统(如Ubuntu 16.04和更高版本)中,网络接口名为ens33。 ...
从ubuntu17.10开始,gnome3桌面是默认的。ubuntu18.04有很多新特性,你甚至可以用gnomeshell扩展扩展Ubuntu桌面的功能。这些扩展是GNOME桌面的附加组件,可以添加新功能,也可以修改现有功能来扩展它,有点像浏览器附加组件。 ...