一起来学linux:sudo
Posted 一张红枫叶
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一起来学linux:sudo相关的知识,希望对你有一定的参考价值。
通常在转换用户的时候会用到su 用户的方式。但是su方式需要知道切换的用户密码。而且su root到roo账户后,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以及ls的root权限。而其他命令则不涉及
%zhf ALL=(ALL:ALL) sbin/ifconfig, /bin/ls
以上是关于一起来学linux:sudo的主要内容,如果未能解决你的问题,请参考以下文章