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
相關文章
相關標籤/搜索