zoukankan      html  css  js  c++  java
  • sudo配置文件/etc/sudoers格式

    sudo的配置文件 sudoers 一般在 /etc 目录下。 不过不管 sudoers 文件在哪儿,sudo 都提供了一个编辑该文件的命令:visudo 来对该文件进行修改。

    讲解sudo配置文件/etc/sudoers的格式。
    # User privilege specification
    root    ALL=(ALL) ALL
    # Allow members of group sudo to execute any command after they have
    # provided their password
    # (Note that later entries override this, so you might need to move
    # it further down)
    %sudo ALL=(ALL) ALL
    #
    #includedir /etc/sudoers.d
    # Members of the admin group may gain root privileges
    %admin ALL=(ALL) ALL
    以上是我的Ubuntu10.04的默认/etc/sudoers文件。"#"开头的都是注释可以忽略。
    首先用户需要转换成根用户并使用visudo命令打开/etc/sudoers文件。
    讲解:root    ALL=(ALL) ALL
    root表示被授权的用户,这里是根用户;
    第一个ALL表示所有计算机;
    第二个ALL表示所有用户;
    第三个ALL表示所有命令;
    全句的意思是:授权根用户在所有计算机上以所有用户的身份运行所有文件。
    %admin ALL=(ALL) ALL同上面一样,只不过被授权的成了admin这个组。
    通用格式
    /etc/sudoers的通用格式为:
    user  host  run_as  command
    user:一位或几位用户,在/etc/group中可以用一个%代替它,组对象的名称一定要用百分号%开头。
    host:一个或几个主机名;
    run_as:作为哪个用户运行,常见选项是root和ALL
    command:想让用户或组运行的一个或几个根级别命令。
    例如:
    hans   ALL=(root)   useradd,userdel
    授权hans用户在所有计算机上以root身份运行useradd,userdel命令。
    %smith  ALL=(ALL)  NOPASSWD:useradd,userdel
    授权smith组全部成员在所有计算机上以所有用户的身份运行useradd,userdel命令;且运行时不必输入密码。
    需要注意的是,当我们为用户定义可以运行的命令时,必须使用完整的命令路径。这样做是完全出于安全的考虑,如果我们给出的命令只是简单的userad 而非 /usr/sbin/useradd,那么用户有可能创建一个他自己的脚本,也叫做userad,然后放在它的本地路径中,如此一来他就能够通过这个名为 useradd的本地脚本,作为root来执行任何他想要的命令了。这是相当危险的!

    参考:

    http://chenall.net/post/linux-sudo-config/

    http://desert3.iteye.com/blog/1663995

    http://blog.csdn.net/a19881029/article/details/18730671

  • 相关阅读:
    WSL下的Ubuntu 18.04LTS配置软件源和系统更新
    宝塔 5.9.2 最终版 专业版
    宝塔面板7.2.0学习版集合--包含(专业版、企业版及部分插件)
    网络安全学习和CTF必不可少的一些网站
    Hello Blog !
    如何解决机器学习树集成模型的解释性问题
    机器学习建模老司机的几点思考与总结
    2019 秋招提前批蘑菇街一面面经(带答案)
    Java 最全异常讲解
    Spring Context 你真的懂了吗
  • 原文地址:https://www.cnblogs.com/Alight/p/4626461.html
Copyright © 2011-2022 走看看