一起来学linux:sudo

mac2022-06-30  88

通常在转换用户的时候会用到su 用户的方式。但是su方式需要知道切换的用户密码。而且su rootroo账户后,root账户有全部的权限。为了防止root账户干错事,因此有了sudo的命令。sudo 顾名思义,super user do 它可以让普通账户执行root账户的权限。

其他账户能够执行sudo必须要在/etc/sudoers文件中添加,这个文件只有root账户才能编辑。还必须使用visudo编辑。之所以用visudo有两个原因: 1 防止两个用户同时修改 2 能进行有限的语法检查。

在添加权限前,我们先来看下当前账户的权限,比如我们想查看/etc/shadow文件的内容。在用zhf账户查询的时候提示没有权限。原因在于这个文件只有root账户才有权限使用

zhf@zhf-linux:~/zhf$ cat /etc/shadow

cat: /etc/shadow: Permission denied

运行visudo命令。添加%zhf ALL=(ALL:ALL) ALL

# Allow members of group sudo to execute any command

%sudo ALL=(ALL:ALL) ALL

%zhf ALL=(ALL:ALL) ALL

zhf是用户帐号。第一个ALL代表登陆来源的主机号。

(ALL:ALL) 代表可转换的身份,我们可以在里面设置其他帐号名称比如zhf_test:zhf。这样当用命令sudo -u zhf_test就会以zhf_test的身份去执行命令。 Sudo -u zhf就会以zhf的身份去执行命令。

最后一个ALL代表可执行的命令。在这里我们赋予zhf所有root可执行的命令。添加之后我们继续来执行之前的命令。这个时候要采用sudo cat /etc/shadow 来执行。输入用户名密码后,可以看到能查看etc/shadow文件的内容了

zhf@zhf-linux:~/zhf$ sudo cat /etc/shadow

[sudo] password for zhf:

root:$3$2lx7mDyC$upA1ssj61RgHwUTonnKxJ1HqxEal71XsIIO4tNYiWDHRiytkYIMDhTiA9E6w0wkPD9KXIS5psm7977/njDkN9.:783420:111111:7:::

另外在下面这一行是配置组的组成员用户的sudo权限。

# Members of the admin group may gain root privileges

转载请注明原文地址: https://mac.8miu.com/read-21745.html
最新回复(0)