Linux授權中的sudo配置和使用教程

2021-06-20 21:31:20 字數 2755 閱讀 3804

sudo是openbsd的一部分,其作者是 todd c. miller。在 freebsd 中可以使用 ports 或 package 來安裝。在linux中預設是安裝好的。下面就來看看如何配置sudo授權。

1)配置sudo

sudo的配置檔案在/usr/local/etc/sudoers裡面。sudo的配置檔案不應直接編輯,而應使用 visudo 來進行修改。

配置許可權的格式如下:

user machine=(effective user) [nopasswd:] command

第一列(user)指定要授權的帳號。第二列(machine)定義在那些機器上,這條執行生效,其好處是在多台機器上使用同乙份配置檔案。括號裡的(effective user)是使用指定實際執行該命令的帳號,

這就方便乙個帳號允許用另外乙個帳號來執行特定的命令,而不非得是root帳號。第四列(command)是指定的命令. nopasswd是可選項代表user在sudo到某身份時不必輸入該身份的密碼即可執行命令。

下面是配置sudo的簡單方法:

m-gtuiw all=(all) all

指定了m-gtuiw可以在任何地點以任何身份執行整個系統的全部命令。

%wheel all=(all) all

這個命令指定了wheel這個組的使用者可以在任何地點以任何身份執行整個系統的全部命令。

m-gtuiw all=(apache) /usr/bin

指定了m-gtuiw可以在任何地點但只能以apache使用者身份且只能執行/usr/bin目錄下的命令。

m-gtuiw all= /usr/bin

等同於m-gtuiw all=(root) /usr/bin

2)設定密碼在一段時間後自動退出

defaults:m-gtuiw timestamp_timeout=0, runaspw, passwd_tries=1

記住: 在 defaults:m-gtuiw 這個地方不允許有空格出現。下同:

這段句子有三個功能:

1)m-gtuiw需要root的密碼才能執行sudo(句子中runaspw的緣故)。

2)這密碼沒有被系統記住(因為有timestamp_timeout=0的緣故),用了一次的sudo之後當再次使用時又得輸入root密碼。

如果將timastamp_timeout改為-1話,m-gtuiw只須去驗證一次密碼,之後將記住了m-gtuiw輸入的密碼,當第二次,第三次

使用sudo的時候都不用輸入root密碼了直到退出登入。

當然,其它的使用者也可以這樣,但須要不同的帳戶和預設值。在這裡我們只改變m-gtuiw和增加乙個新的使用者「limda」:

defaults:m-gtuiw timestamp_timeout=0

defaults:limda timestamp_timeout=-1, runaspw

#user privilege specification

root all=(all) all

m-gtuiw all=(all) all

limda all=(all) all

m-gtuiw和limda擁有不同的預設值。「defaults」影響著每個使用者使用sudo不同的許可權。

3)sudo預設使用系統的 /var/log/messages 作為其日誌檔案;除此之外,也可以採用另外的日誌,以便於進行審計。

defaults logfile=/var/log/sudolog

記住,在上面沒有 : 啊。

4) 限制sudo使用危險的命令:

m-gtuiw all=/bin/kill, /usr/sbin/

這裡說明m-gtuiw使用者只可以使用/bin/kill這個命令和/usr/sbin/裡面的命令。

m-gtuiw lnserve=(paul, limda) /bin/kill, /usr/sbin/

說明了m-gtuiw只能在lnserv指定的機算機中以paul和limda的身份使用/bin/kill和/usr/sbin裡面的命令。

5)sudo限制使用某些命令

m-gtuiw all=all, !/bin/rm

這裡說明了m-gtuiw可以用除了/bin/rm之外的所有命令,在/bin/rm前面加上 ! 號就是為了限制使用這個命令。

6)sudo時不輸入密碼直接執行命令

m-gtuiw all=(all) nopasswd: /usr/local/sbin/vboxclient,/sbin/mount -t ntfs /dev/hda5 /d-driver

這裡說明m-gtuiw在執行/usr/local/sbin/vboxclient以及mount hda5時,不必輸入root密碼就可以root許可權執行,

這裡runas為all實際上是指m-gtuiw可以sudo成任何身份且不必輸入該身份的密碼就可以執行後面的命令,當然root身份也不在話下。

nopasswd特別危險切記要讓正確的人使用正確的命令。

m-gtuiw all=(all) nopasswd: all

這裡說明m-gtuiw執行所有命令都不必輸入密碼,這極其危險。慎用。

m-gtuiw all=(all) all, nopasswd: /sbin/mount -t ntfs /dev/hda5 /d-driver

也可以讓m-gtuiw使用者可以sudo所有命令,但只針對某些命令不必輸入密碼。

linux 下使用sudo 授權

linux下使用sudo授權1 使用root使用者授權 有兩種方法 a vim etc sudoers root all all all 允許操作的主機 想成為誰 授權的命令 在下面新增 使用者名稱 all all all 授權所有命令的許可權 all all usr bin cat 授權單個命令 ...

Linux下配置sudo訪問

1.介紹 如果系統管理員希望向可信的使用者提供管理員訪問許可權,但不想共享root使用者的口令,那麼可以使用sudo機制。使用者一旦通過sudo機制獲得了給定許可權,就可以執行任何管理命令,只需在命令前面加上sudo關鍵字即可。在使用sudo時,使用者會被要求輸入自己的口令,口令正確後,管理命令的執...

小c學Linux 34 sudo 授權工具

把有限的管理操作授權給某普通使用者,並且還能限定其僅能夠在某些主機上執行此類的命令 操作過程還會被記錄於日誌中,以便於日後審計。定義sudo授權,配置檔案 etc sudoers 格式 who which host whom command 別名 僅能使用大寫字母 例 user alias user...