zoukankan      html  css  js  c++  java
  • 一起来学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账户才有权限使用

    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

    %admin ALL=(ALL) ALL


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

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

  • 相关阅读:
    BFS模板 + 力扣例题
    和小吴日常3
    和小吴日常2
    Cocos Creator 学习记录
    js浏览器事件循环机制
    vue+uniapp 项目中一些常用知识
    JSP第一次作业
    Test
    InnoDB存储引擎
    MySQL存储引擎
  • 原文地址:https://www.cnblogs.com/zhanghongfeng/p/7571580.html
Copyright © 2011-2022 走看看