一起来学linux:sudo

Posted 一张红枫叶

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一起来学linux:sudo相关的知识,希望对你有一定的参考价值。

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


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

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

[email protected]:~/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文件的内容了


[email protected]:~/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

%admin ALL=(ALL) ALL


对于在/etc/sudoers中配置其他账户所有的权限也是有很多安全隐患的。因此我们一般对于账户能执行的命令是有约束的。比如下面就对zhf帐号进行了约束,授予了ifconfig以及lsroot权限。而其他命令则不涉及

%zhf ALL=(ALL:ALL) sbin/ifconfig, /bin/ls






以上是关于一起来学linux:sudo的主要内容,如果未能解决你的问题,请参考以下文章

一起来学linux:日志文件

一起来学Linux命令:chmod

一起来学linux:磁盘与文件系统:

一起来学linux:用户与用户组

一起来学linux:sudo

一起来学linux:ACL