sudo命令的用法
因為root的許可權太大,所以Linux下一般不能以管理員直接登入,或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組,UID為500的使用者
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別名,有ip為172.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別名,有useradd,userdel,和/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
標籤:
NOPASSWD:表示標籤之後的命令都不用輸密碼
PASSWD:表示標籤之後的命令都用輸密碼
sudo命令:
-l: 查看目前使用者可執行檔sudo命令;
-u USERNAME COMMAND: 以指定的使用者身份執行指定的COMMAND;
-k: 清除“令牌”
-b COMMAND: 在後台運行指定的COMMAND
-e /path/to/somefile:修改指定的檔案;
例:sudo-u centos useradd user1
Linux教程分享:如何為sudo命令定義PATH環境變數
Ubuntu的sudo與su命令使用與開啟root帳戶
sudo: sorry, you must have a tty to run sudo
Linux配置sudo許可權
sudo配置臨時取得root許可權
Linux下解決使用者不能執行sudo的方法
Linux系統管理員不可不知的命令:sudo
sudo使用之實現許可權分配
本文永久更新連結地址: