sudo命令的使用

在linux系统中,有些普通用户需要借助root帐号来执行一些操作,但我们并不能把root密码给普通用户,就有了sudo

sudo可以临时切换到指定帐号进行操作

使用方法:

    sudo [ -u 用户帐号] 需要执行的命令;切换到root时,可以直接执行sudo 执行命令 即可;

使用条件:

    必须以root身份执行visudo,添加需要执行sudo命令的用户;

    执行visudo,实际上修改的是/etc/sudoers文件;

修改配置:

    [root@web1 ~]# visudo

    root    ALL=(ALL)       ALL   <==找到这一行

    liu     ALL=(ALL)       ALL   <==新增的行,保存退出

    wKiom1ae5UXAIHfbAAAMKKfWavc517.png

    用户帐号:表示系统中哪个帐号可以使用sudo命令

    第一个ALL:登录者来源的主机名,表示这个帐号可以从哪一台主机连接过来,ALL表示任意主机

    第二个ALL:可切换的身份,表示此帐号可以切换哪个帐号进行操作,ALL表示可以切换成任何用户

    第三个ALL:可执行的命令,表示此帐号可以执行哪些命令,ALL表示可以执行任何命令;

        注意:在大多数情况下,不能为普通用户设置全部命令的权限,要让用户拥有一个或者几个权限时,ALL可以换成此命令的绝对路径,有多个命令时,中间以逗号分开

        比如只有修改密码的权限时,但绝对不能修改root用户的密码:

        liu ALL=(ALL) !/usr/bin/passwd,/usr/bin/passwd [A-Za-z]*,!/usr/bin/passwd root

进行测试:

   wKiom1aeCiTwN5OtAABau2uht8k525.png

结果:

    从上图中可以看到以普通用户liu登录时,执行sudo命令创建test2目录,其属主和属组均为root


有时我们需要为很多用户添加sudo权限,此时可以通过组来实现

前提:

    把需要执行同样的权限的普通用户,添到同一个组中

    把用户wei,cui同时加入到组liu中,此组liu中就有liu,wei,cui3个普通用户

    wKiom1ae5mvw6xr7AAANpF63vBw858.png

修改配置文件:

    #visudo    把之前添加的用户liu独有权限删除,添加组liu

      wKiom1ae50qCGSSRAAAzjrRmi_c818.png

    找到圈中的这一行,把“wheel”改为你自己设定的组,我这边改为组liu,保存退出进行测试

      wKiom1ae556QTRkMAAAKwHueAys340.png

测试:

    分别切换到用户liu,wei,cui进行测试  注意:用户第一次用sudo命令时会收到一些提示

    wKiom1ae6kmTLkkmAAAN0hZp2_M309.png

    wKioL1ae6pCByhJAAAAF8k2hA-w454.png

    wKioL1ae6qCx7eQBAAAo6k7LYII892.png

    查看上面3文件的属主属组,可以看到都为root,说明测试成功

    wKioL1ae6wbxfprSAAAUYDllN6s686.png

    以后如果想要增加或者删除某个用户sudo权限时,只需要将此用户添加到或者移除此组就可以了

思考:

    使用sudo命令切换用户,总是提示输入自己的密码才可以成功,那有没有办法不输入密码呢?

    wKiom1ae7-eyppMpAAAKgB4X8m0040.png

    找到此行,把前边的#号去掉,百分号后边添加你需要设定的组即可

测试:可以看到用户组liu中的所有用户,再执行sudo操作时,可以不用输入密码了  

    wKioL1ae8cjgnpw4AAAlLYV8emU353.png  

    wKiom1ae8ZzyjGsLAAAkWD1B5So673.png

    wKiom1ae8YGw91kvAAAhys6OI3w581.png


总结:

    要给定sudo权限的用户,必须是你信任的用户;

你可能感兴趣的:(命令,使用,sudo)