sudo命令的用法


因爲root的權限太大,所以一般不能以管理員直接登錄,或su - root去操作,這時我們就需要用到sudo這個命令去幫助我們執行一些普通用戶沒有權限的管理命令。

sudo命令的特點:

1、授權指定用戶在指定主機上運行指定的管理命令;

2、詳細記錄用戶基於sudo執行的命令的相關日誌信息;

3、“檢票系統”:時效性認證,用戶第一次執行sudo時會要求輸入密碼來驗正用戶身份,成功後用戶會獲得一個有固定存活時長的“令牌”;5分鐘

 

如何實現sudo功能?

/etc/sudoers:授權文件,只能由管理員編輯;但一般不用vim直接去編輯,因爲可能會出現語法錯誤,所以一般用專用的編輯工具visudo命令去授權。

  

/etc/sudoers

注意:別名定義: 別名必須使用全大寫字符

內置變量:   ALL: 所有用戶

User_Alias

User_Alias NAME = item1, item2, ...

item:

用戶名

%組名

#UID

$#GID

User_Alias(表示可以使用已經定義的別名)

例:   User_Alias ADMIN =centos,%lx,#500

表示定義ADMIN別名,有centos用戶,lx組,UID500的用戶

Host_Alias:可以在哪些主機上運行

Host_AliasNAME = item1, item2, ...

item:

hostname

ip

network

Host_Alias

例:   Host_Alias ALLOWADDR =172.16.37.10,172.16.0.0/16

表示定義ALLOWADDR別名,有ip172.16.37.10,網絡地址爲172.16.0.0/16

Runas_Alias

Runas_AliasNAME = item1, item2, ...

用法和User_Alias相同

 

Cmnd_Alias

Cmnd_AliasNAME = item1, item2, ...

item:

命令

目錄(目錄下的所有命令)

Cmnd_Alias

例:   Cmnd_Alias COMMAND =/usr/sbin/useradd,/usr/sbin/userdel,/usr/sbin

表示定義COMMAND別名,有useradduserdel,和/usr/sbin下的所有命令

定義時可取反:Cmnd_AliasPASSWD = /usr/bin/passwd [0-9A-Za-z]*,! /usr/bin/passwd root

sudo授權:

WHO         HOST=(WHOM)        COMMAND

例:centos   MYPC=(root)  /usr/sbin/useradd

wKioL1VR05uTDbDDAAClSn2Re8M397.jpg

 

標籤:

NOPASSWD:表示標籤之後的命令都不用輸密碼

PASSWD:表示標籤之後的命令都用輸密碼

wKiom1VR0j2AnZzTAAApBB7CEZE056.jpg

 

 

sudo命令:

-l: 查看當前用戶可執行的sudo命令;

-u USERNAME COMMAND: 以指定的用戶身份執行指定的COMMAND

-k: 清除“令牌”

-b COMMAND: 在後臺運行指定的COMMAND

-e /path/to/somefile:修改指定的文件;

 

例:sudo-u centos useradd user1


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章