sudo的简单用法

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

su -l root -c 'COMMAND'

可是想要限制某个用户只拥有一部分管理员权限,而不是拥有所有权限,这就须要用到sudoui

sudo: 是能够让某个用户不须要拥有管理员的密码,能够执行管理员的权限spa

   做为管理员能够指派某些用户能够执行某些特定命令,相似suidcode

配置文件:/etc/sudoersblog

 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 ip

-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
相关文章
相关标签/搜索