linux基础之sudu的简单用法

Posted ckh2014

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux基础之sudu的简单用法相关的知识,希望对你有一定的参考价值。

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

 

以上是关于linux基础之sudu的简单用法的主要内容,如果未能解决你的问题,请参考以下文章

Android适配器之ArrayAdapterSimpleAdapter和BaseAdapter的简单用法

Linux基础之bash脚本进阶篇-循环语句(for,while,until)及其特殊用法

Linux基础之常见命令用法

linux学习基础6之sed用法详解

linux学习基础6之sed用法详解

微信小程序第七天WXML语法之模板用法