我应该赋予标准帐户什么权限?我应该删除什么?我要更改的用户是原始主管理员帐户。我已经设置了第二个帐户,它将成为我的新主管理员,并将添加到所有组中。
编辑:我已经知道如何将用户更改为标准用户,我想知道标准用户应该被允许加入哪些组?
答案1
添加用户设置权限后,请按照以下指南首先设置您最喜欢的编辑器以打开 sudo 配置文件
sudo update-alternatives --config editor
设置最喜欢的编辑器后,打开 sudo 配置,sudo visudo
找到类似这样的内容的行 # 用户权限规范并添加类似的demo ALL=(ALL:ALL) ALL
第一个字段表示规则将应用于的用户名(演示)。
演示 全部=(全部:全部) 全部
第一个“ALL”表示该规则适用于所有主机。
演示 全部=(全部:全部) 全部
这个“ALL”表示演示用户可以以所有用户的身份运行命令。
演示全部=(全部:全部)全部
这个“ALL”表示演示用户可以以所有组的身份运行命令。
演示全部=(全部:全部) 全部
最后的“ALL”表示这些规则适用于所有命令。
演示全部=(全部:全部)全部
以“%”开头的名称表示组名。
您可以通过多种方式来更好地控制 sudo 对调用的反应。
与“mlocate”包关联的 updatedb 命令相对无害。如果我们想允许用户以 root 权限执行它而无需输入密码,我们可以制定这样的规则:
GROUPONE ALL = NOPASSWD: /usr/bin/updatedb
NOPASSWD 是一个“标签”,表示不需要密码。它有一个配套命令,称为 PASSWD,这是默认行为。标签与规则的其余部分相关,除非稍后被其“孪生”标签否决。
例如,我们可以有这样的一行:
GROUPTWO ALL = NOPASSWD: /usr/bin/updatedb, PASSWD: /bin/kill
另一个有用的标签是“NOEXEC”,它可用于防止某些程序中的一些危险行为。
例如,某些程序(如“less”)可以通过在其界面中键入以下命令来生成其他命令:
!command_to_run 这基本上会以与“less”运行相同的权限执行用户提供的任何命令,这可能非常危险。
为了限制这种情况,我们可以使用如下代码:
username ALL = NOEXEC: /usr/bin/less
如果您只是想知道您的用户名定义了什么样的权限,您可以输入:
sudo -l