zoukankan      html  css  js  c++  java
  • sudo

    当普通用户需要做一些系统配置时需要切换到root用户,然而同时有多名用户切换到root执行命令时,无法分清哪些用户执行了哪些命令,这时就引出了/etc/sudoers。配置文件中每条可以理解为

    who     which_hosts=(runas)    command
    谁       在哪台主机上=(以谁的身份)    运行什么命令


    编辑配置文件时要用visudo命令,其中每段关键词都可以用别名定义成一组,且别名必须全部而且只能使用大写英文字母的组合,同时可以使用!取反。如下
    who:
      User_Alias  USER = 用户名,%组名,其他用户别名
    which_hosts:
      Host_Alias  = 主机名,IP,网络地址,其他主机别名
    runas:
      Runas_Alias = 用户名,%组名,其他runas别名
    cmd:
      Cmnd_Alias = 命令绝对路径,目录,其他命令别名,NOPASSWD:命令(这个代表后面所有的命令不需要输入密码),PASSWD:命令(这个代表后面所有的命令都需要密码)

    例如

    [root@localhost ~]# visudo 
    User_Alias USER = admin,%root
    Host_Alias HOST = localhost,1.1.1.1,2.0.0.0/8
    Runas_Alias RUNAS = root,%root
    Cmnd_Alias CMND = /usr/sbin/useradd,/usr/bin/passwd [A-Za-z]*,! /usr/bin/passwd root   #这个代表不能修改root密码
    USER HOST=(RUNAS) CMND
    

     测试结果如下

    [admin@localhost ~]$ sudo userdel linuxtest
    
    We trust you have received the usual lecture from the local System
    Administrator. It usually boils down to these three things:
    
        #1) Respect the privacy of others.
        #2) Think before you type.
        #3) With great power comes great responsibility.
    
    [sudo] password for admin: 
    Sorry, user admin is not allowed to execute '/usr/sbin/userdel linuxtest' as root on localhost.localdomain.
    [admin@localhost ~]$ sudo useradd admin2
    [sudo] password for admin: 
    [admin@localhost ~]$ ls /home
    admin  admin2  linuxtest
    #当使用userdel时提示没有在配置文件中声明
    

     sudo
      -l:列出当前用户可以使用的所有sudo类命令
      -k:每次使用sudo都要输入密码


    当其他用户使用sudo命令操作时,都会记录在/var/log/seruce文件内

    初学linux,每学到一点东西就写一点,如有不对的地方,恳请包涵!
  • 相关阅读:
    web Function函数
    web语言发展史
    用户正则
    字符串替换
    css单位
    JavaScript DOM&BOM
    css颜色的设置
    pseudo-class与pseudo-element的不同点与相同点
    对css语法中position值的理解
    API
  • 原文地址:https://www.cnblogs.com/forlive/p/8660401.html
Copyright © 2011-2022 走看看