• sudo的简单用法


    su: Switch User, 以管理员身份运行某些命令:

    su -l root -c 'COMMAND'

    但是想要限制某个用户只拥有一部分管理员权限,而不是拥有全部权限,这就需要用到sudo

    sudo: 是可以让某个用户不需要拥有管理员的密码,可以执行管理员的权限

       作为管理员可以指派某些用户可以执行某些特定命令,类似suid

    配置文件:/etc/sudoers

     root  ALL=(ALL)  ALL
     %wheel  ALL=(ALL)  ALL
       %wheel: 运行命令者的身份,user
       第一个ALL:在哪些主机上, host
       第二个ALL:以哪个用户的身份, runas
       第三个ALL:运行哪些命令, command 
    配置项:
        users    hosts=(runas) commands
                users:
                    username
                    #uid
                    user_alias
                    %group_name
                    %#gid
        
                hosts:
                     ip
                     hostname
                     netaddr
    
                commands:
                     command name
                     directory
                     sudoedit
    
                Alias_Type NAME = item1, item2, ...
                        NAME: 必须使用全大写字母
                        Alias_Type:
                              User_Alias
                              Host_Alias
                              Runas_Alias
                              Cmnd_Alias
    
                Alias_type NETADMIN = netuser1, netuser2
                Cmnd_Alias NETADMINAMNDS = /usr/sbin/ip            
    实例:vim /etc/sudoers
          User_Alias NETADMIN = netuser1, netuser2
          Cmnd_Alias NETADMINCMNDS = /usr/sbin/ip
          NETADMIN        ALL=(root)  NETADMINCMNDS

    命令: sudo [-u user] COMMAND 

    -V: 显示版本编号
    -h: 会显示版本编号及指令的使用方式说明
    -l: 显示出自己(执行sudo的使用者)的权限
    -v: 因为sudo在第一次执行时或是在N分钟内没有执行(N预设为五)会问密码,这个参数是重新做一次确认,如果超过N分钟,也会问密码
    -k: 将会强迫使用者在下一次执行sudu时问密码(不论有没有超过N分钟)
    -b: 将要执行的指令放在后台执行
    -p prompt 可以更改问密码的提示语,其中%u会代换为使用者的账号名称,%h会显示主机名称
    -u username/#uid 不加此参数,代表要以root的身份执行指令,而加了此参数,可以以username的身份执行指令(#uid为该username的使用者号码)
    实例
    User_Alias USERADMIN = poweruser1, poweruser2
    Cmnd_Alias USERADMINCMNDS = /usr/sbin/useradd, /usr/sbin/usermod, /usr/bin/passwd [a-z]* !/usr/bin/passwd root  //不允许修改root管理员密码
    USERADMIN ALL=(root) NOPASSWD: USERADMINCMNDS
  • 相关阅读:
    JAVA 多线程开篇 -从按顺序打印ABC开始
    学英语
    称砝码
    JAVA BST的实现
    JAVA 引用
    常用查找算法的总结
    bootstrap学习之二-组件
    bootstrap学习之一_bootstrap css
    前端学习——css实用技术
    前端学习——css基础知识,选择器与html模板、值得收藏的html标签
  • 原文地址:https://www.cnblogs.com/ckh2014/p/10801578.html
Copyright © 2020-2023  润新知