溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Linux系統(tǒng)sudo語法的用法

發(fā)布時(shí)間:2021-08-30 11:04:21 來源:億速云 閱讀:135 作者:chen 欄目:建站服務(wù)器

這篇文章主要介紹“Linux系統(tǒng)sudo語法的用法”,在日常操作中,相信很多人在Linux系統(tǒng)sudo語法的用法問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對(duì)大家解答”Linux系統(tǒng)sudo語法的用法”的疑惑有所幫助!接下來,請(qǐng)跟著小編一起來學(xué)習(xí)吧!

sudo

sudo允許用戶以超級(jí)用戶或安全策略指定的另一個(gè)用戶的身份執(zhí)行命令。Sudo支持安全策略插件和輸入/輸出日志的插件。第三方可以開發(fā)和分發(fā)自己的策略和I/O日志插件,以便與sudo前端無縫地工作。默認(rèn)的安全策略是sudoers,它是通過文件/etc/sudoers或通過LDAP配置的。

安全策略確定用戶在需要什么權(quán)利的時(shí)候需要運(yùn)行sudo。該策略可能要求用戶使用密碼或其他身份驗(yàn)證機(jī)制進(jìn)行身份驗(yàn)證。如果需要身份驗(yàn)證,如果用戶的密碼未在可配置的時(shí)限內(nèi)輸入,sudo將退出。此限制是特定于策略的;sudoers安全策略的默認(rèn)密碼提示超時(shí)為5分鐘。

安全策略可能支持憑據(jù)緩存,允許用戶在不需要身份驗(yàn)證的情況下再次運(yùn)行sudo。sudoers策略將憑據(jù)緩存5分鐘,除非在sudoers(5)中重寫。通過使用“-v”選項(xiàng)運(yùn)行sudo,用戶可以在不運(yùn)行命令的情況下更新緩存的憑據(jù)。

安全策略可能記錄使用sudo的成功和失敗情況。如果配置了I/O插件,運(yùn)行中的命令的輸入和輸出也可能被記錄下來。

此命令的適用范圍:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。

1、語法

sudo -h | -K | -k | -V

sudo -v  [-AknS]  [-g group name | #gid]  [-p prompt]  [-u user name | #uid]

sudo -l[l] [-AknS]  [-g group name | #gid]  [-p prompt]  [-U user name] [-u user name | #uid]  [command]

sudo [-AbEHnPS]  [-C fd]  [-g group name | #gid]  [-p prompt]  [-r role]  [-t type]  [-u user name | #uid]  [VAR=value]  -i |  -s [command]

sudoedit [-AnS]  [-C fd]  [-g group name | #gid]  [-p prompt]  [-u user name | #uid]  file  ...

 

2、選項(xiàng)列表

選項(xiàng)

說明

-h

幫助信息

-V

顯示命令版本信息

-A

通常,如果sudo需要密碼,它就會(huì)從用戶終端讀取密碼。如果指定了-A(Askpass)選項(xiàng),則執(zhí)行一個(gè)(可能是Graphi cal)幫助程序來讀取用戶密碼并將密碼輸出到標(biāo)準(zhǔn)輸出。如果設(shè)置了SUDO_ASKPASS環(huán)境變量,則指定助手程序的路徑。否則,如果“/etc/sudo.conf”包含了askpass程序的路徑,將使用該值。例如:

# Path to askpass helper program

Path askpass /usr/X11R6/bin/ssh-askpass

-b

在后臺(tái)運(yùn)行命令。請(qǐng)注意,如果使用-b選項(xiàng),則不能使用shell作業(yè)控件操作進(jìn)程。大多數(shù)交互命令在后臺(tái)模式下都無法正常工作。

-C fd

通常,sudo將關(guān)閉除標(biāo)準(zhǔn)輸入、標(biāo)準(zhǔn)輸出和標(biāo)準(zhǔn)錯(cuò)誤之外的所有打開的文件描述符。“-C”選項(xiàng)允許用戶在標(biāo)準(zhǔn)錯(cuò)誤(文件描述符3)之上指定起點(diǎn)。不允許值小于3。安全策略可能限制用戶使用“-C”選項(xiàng)的能力。sudoers策略僅允許用戶只有在開啟“closefrom_override”之后,才可以使用“-C”選項(xiàng)

-E

運(yùn)行時(shí)保留用戶環(huán)境?!?E”選項(xiàng)向安全策略指示用戶希望保存他們現(xiàn)有的環(huán)境變量。如果指定了“-E”選項(xiàng),且用戶沒有保留環(huán)境的權(quán)限,則安全策略可能返回錯(cuò)誤

-e

編輯命令文件,而不是執(zhí)行命令。當(dāng)查詢安全策略的時(shí)候,使用字符串“sudoedit”代替命令。如果用戶通過策略認(rèn)證,有3個(gè)步驟需要做:1)產(chǎn)生一個(gè)臨時(shí)的副本;2)運(yùn)行策略指定的編輯器來編輯臨時(shí)文件。sudoers策略依次使用環(huán)境變量SUDO_EDITOR,、VISUAL 、EDITOR。如果沒有設(shè)置這三個(gè)環(huán)境變量,則使用編輯器sudoers(5)選項(xiàng)中列出的第一個(gè)程序;3)如果修改了臨時(shí)文件,則將臨時(shí)文件復(fù)制回原來的位置,并移除臨時(shí)版本。

如果指定的文件不存在,它將被創(chuàng)建。注意,與sudo運(yùn)行的大多數(shù)命令不同,編輯器是在調(diào)用用戶的環(huán)境中運(yùn)行的。如果由于某些原因,sudo無法用指定的編輯器更新文件,則用戶將收到警告,編輯后的副本將保留在臨時(shí)文件中。

-g group 

由指定的用戶組來執(zhí)行命令。使用#gid,而不是組名。注意,shell要求使用反斜杠(‘\’)轉(zhuǎn)義‘#’

-H

-H(Home)選項(xiàng)要求安全策略將“HOME”環(huán)境變量設(shè)置為由密碼數(shù)據(jù)庫指定的目標(biāo)用戶的家目錄。根據(jù)策略,這個(gè)選項(xiàng)很可能是默認(rèn)的。

-i [command]

模擬初始登錄?!?i“選項(xiàng)將目標(biāo)用戶的密碼數(shù)據(jù)庫條目指定的shell作為登錄shell運(yùn)行。這意味著shell將讀取特定于登錄的資源文件,如“.profile”或“.login”。如果指定了命令,則通過shell的-c選項(xiàng)將其傳遞給shell執(zhí)行。如果未指定命令,則執(zhí)行交互式shell。sudo試圖在運(yùn)行shell之前更改到該用戶的家目錄。安全策略應(yīng)將環(huán)境初始化為最小變量集,類似于用戶登錄時(shí)存在的變量集。

-K

刪除用戶緩存的憑據(jù),不能與命令或其他選項(xiàng)一起使用。此選項(xiàng)不需要密碼。并非所有安全策略都支持憑據(jù)緩存。

-k [command]

單獨(dú)使用時(shí),sudo選項(xiàng)可以使用戶的緩存憑據(jù)無效。下一次運(yùn)行sudo時(shí),將需要密碼。此選項(xiàng)不需要密碼,添加該選項(xiàng)是為了允許用戶從.logout文件中撤消sudo權(quán)限。并非所有安全策略都支持憑據(jù)緩存。

當(dāng)與可能需要密碼的命令或選項(xiàng)一起使用時(shí),“-k”選項(xiàng)將導(dǎo)致sudo忽略用戶的緩存憑據(jù)。因此,sudo將提示輸入密碼(如果安全策略需要密碼),并且不會(huì)更新用戶緩存的憑據(jù)。

-l[l] [command]

列出用戶能執(zhí)行的命令。如果沒有指定命令,則-l(List)選項(xiàng)將列出當(dāng)前主機(jī)上調(diào)用用戶(或-u選項(xiàng)指定的用戶)所允許的命令。如果指定了命令并得到安全策略的允許,則會(huì)顯示命令的完全路徑以及任何命令行參數(shù)。如果指定了命令但不允許執(zhí)行,sudo將退出,狀態(tài)值為1。如果使用l參數(shù)(即-ll),則使用較長的列表格式。

-n

非交互式,將不提示用戶。-n選項(xiàng)防止sudo提示用戶輸入密碼。如果運(yùn)行命令需要密碼,sudo將顯示錯(cuò)誤消息并退出。

-P

保存組向量?!?P“選項(xiàng)使sudo保持調(diào)用用戶的組向量不變。默認(rèn)情況下,sudoers策略將組向量初始化為目標(biāo)用戶所在的組列表。然而,實(shí)際有效的組ID仍然被設(shè)置為與目標(biāo)用戶匹配。

-p prompt

使用指定的密碼提示語句:

%H,擴(kuò)展為主機(jī)名,包括域名;

%h,擴(kuò)展為主機(jī)名,不包括域名;

%p,擴(kuò)展為請(qǐng)求其密碼的用戶的名稱;

%U,擴(kuò)展到運(yùn)行命令的用戶的登錄名;

%u,擴(kuò)展到調(diào)用用戶的登錄名;

%%,兩個(gè)連續(xù)的‘%’字符折疊成一個(gè)‘%’字符;

-r role

“-r“選項(xiàng)將導(dǎo)致新的安全上下文具有由role指定的角色。

-S 

從標(biāo)準(zhǔn)輸入讀取密碼,而不是終端獲取。密碼后面必須跟著換行符

-s [command]

如果設(shè)置了shell環(huán)境變量,則“-s“選項(xiàng)運(yùn)行由shell環(huán)境變量指定的shell,或者運(yùn)行密碼數(shù)據(jù)庫中指定的shell。如果指定了命令,則通過shell的”-c“選項(xiàng)將命令傳遞給shell執(zhí)行。如果沒有指定命令,則執(zhí)行交互式shell。

-t type

“-t“選項(xiàng)將導(dǎo)致新的安全上下文的類型,如果沒有指定類型,則從指定的角色派生默認(rèn)類型。

-U user

“-U”選項(xiàng)與“-l”選項(xiàng)一起使用,以列出指定用戶的權(quán)限。安全策略可能限制列出其他用戶的特權(quán)。sudoers策略只允許root或當(dāng)前主機(jī)上具有完整特權(quán)的用戶使用此選項(xiàng)。

-u user

以指定的用戶身份執(zhí)行指令?!?u“選項(xiàng)使sudo以root以外的用戶身份運(yùn)行指定的命令。要指定#uid而不是用戶名。當(dāng)以u(píng)id的形式運(yùn)行命令時(shí),許多shell要求用反斜杠‘\’轉(zhuǎn)義“#”。安全策略可能會(huì)將UID限制在密碼數(shù)據(jù)庫。sudoers策略允許不存在于密碼數(shù)據(jù)庫中的UID,只要沒有設(shè)置targetpw選項(xiàng)。其他安全策略可能不支持這一點(diǎn)。

-v

當(dāng)給定-v(驗(yàn)證)選項(xiàng)時(shí),sudo將更新用戶的緩存憑據(jù),必要時(shí)對(duì)用戶密碼進(jìn)行身份驗(yàn)證。對(duì)于sudoers插件,這會(huì)將sudo超時(shí)再延長5分鐘(或安全策略設(shè)置的超時(shí)時(shí)間),但不會(huì)運(yùn)行命令

--

這個(gè)選項(xiàng)提示,sudo應(yīng)該停止處理命令行參數(shù)

為命令設(shè)置的環(huán)境變量也可以var=value的形式傳遞到命令行,例如LD_Library_path=/usr/local/pkg/lib。傳遞到命令行的變量受與正常環(huán)境變量相同的限制,但有一個(gè)重要的例外。如果在sudoers中設(shè)置setenv選項(xiàng),則要運(yùn)行的命令具有SETENV標(biāo)記集或匹配的命令。

3、執(zhí)行命令

當(dāng)sudo執(zhí)行命令時(shí),安全策略指定命令的執(zhí)行環(huán)境。通常,將實(shí)際有效的uid和gid設(shè)置為與密碼數(shù)據(jù)庫中指定的目標(biāo)用戶相匹配,并根據(jù)組數(shù)據(jù)庫初始化組向量(除非指定了-p選項(xiàng))。安全策略可能會(huì)指定一些參數(shù):真實(shí)有效用戶ID、真實(shí)有效組ID、補(bǔ)充組ID、環(huán)境列表、當(dāng)前工作目錄、文件創(chuàng)建掩碼、SELinux的角色和類型、調(diào)度級(jí)別。

1)進(jìn)程模型

當(dāng)sudo運(yùn)行一個(gè)命令時(shí),它調(diào)用fork(2),設(shè)置上面描述的執(zhí)行環(huán)境,并在子進(jìn)程中調(diào)用execve系統(tǒng)調(diào)用。主sudo進(jìn)程等待命令完成,然后將命令的退出狀態(tài)傳遞給安全策略的close方法并退出。如果配置了I/O日志插件,則將一個(gè)新的偽終端((“pty”)被創(chuàng)建,第二個(gè)sudo進(jìn)程用于在用戶現(xiàn)有的pty和正在運(yùn)行的新pty之間傳遞作業(yè)控制信號(hào)。這個(gè)額外的進(jìn)程使掛起并恢復(fù)命令成為可能。如果沒有它,命令將使用POSIX術(shù)語中的“孤立進(jìn)程組”。也不會(huì)收到任何作業(yè)控制信號(hào)

2)信號(hào)處理

因?yàn)槊钍亲鳛閟udo進(jìn)程的子進(jìn)程運(yùn)行的,所以sudo會(huì)將接收到的信號(hào)中繼到命令。除非該命令在新的pty中運(yùn)行,否則SIGHUP、SIGINT和SIGQUIT信號(hào)將不會(huì)被中繼,除非它們是由用戶進(jìn)程而不是內(nèi)核發(fā)送的。否則,該命令將在用戶按下“ctrl+c”時(shí)接收到兩次SIGINT.信號(hào)。由于SIGSTOP和SIGKILL不能被捕獲,因此不會(huì)被中繼到命令。作為一般規(guī)則,當(dāng)您希望掛起sudo運(yùn)行的命令時(shí),應(yīng)該使用SIGTSTP而不是SIGSTOP。

作為特例,sudo將不會(huì)中繼它正在運(yùn)行的命令發(fā)送的信號(hào)。這可以防止命令意外地殺死自己。在某些系統(tǒng)上,reboot(8)命令在重新啟動(dòng)系統(tǒng)之前將SIGTERM發(fā)送到所有非系統(tǒng)進(jìn)程,而不是它自己。這防止sudo將接收到的SIGTERM信號(hào)中繼回reboot(8),然后該信號(hào)可能會(huì)在系統(tǒng)實(shí)際啟動(dòng)之前退出,使其處于類似于單用戶模式的半死狀態(tài)。但是,請(qǐng)注意,此檢查只適用于sudo運(yùn)行的命令,而不適用于命令可能創(chuàng)建的任何其他進(jìn)程。因此,通過sudo運(yùn)行調(diào)用重reboot(8)或shutdown(8)的腳本可能導(dǎo)致系統(tǒng)處于這種未定義狀態(tài),除非使用exec()函數(shù)系列而不是system()運(yùn)行reboot(8)或shutdown(8)(后者在命令和調(diào)用進(jìn)程之間插入一個(gè)shell)。

4、插件

插件根據(jù)“/etc/sudo.conf”文件的內(nèi)容動(dòng)態(tài)加載。如果沒有“/etc/sudo.conf”文件,或者它不包含插件行,sudo將使用傳統(tǒng)sudoers安全策略和I/O日志記錄,這相當(dāng)于以下“/etc/sudo.conf”文件

#

# Default /etc/sudo.conf file

#

# Format:

#   Plugin plugin_name plugin_path plugin_options ...

#   Path askpass /path/to/askpass

#   Path noexec /path/to/sudo_noexec.so

#   Debug sudo /var/log/sudo_debug all@warn

#   Set disable_coredump true

#

# The plugin_path is relative to /usr/libexec unless

#   fully qualified.

# The plugin_name corresponds to a global symbol in the plugin

#   that contains the plugin interface structure.

# The plugin_options are optional.

#

Plugin policy_plugin sudoers.so

Plugin io_plugin sudoers.so

插件行由插件關(guān)鍵字組成,后面跟著符號(hào)名字和包含插件的共享對(duì)象的路徑。符號(hào)名字是插件共享對(duì)象中struct policy_plugin或struct io_plugin的名稱。路徑可以是完全限定的或相對(duì)的。如果不完全限定,則相對(duì)于“/usr/libexec”目錄。路徑之后的任何附加參數(shù)都是作為參數(shù)傳遞給插件的開放函數(shù)。不以Plugin、Path、

Debug、Set開頭的行將被默認(rèn)忽略。

5、路徑

路徑行由Path關(guān)鍵字組成,后面跟著要設(shè)置的路徑的名稱及其值。例:

Path noexec /usr/libexec/sudo_noexec.so

Path askpass /usr/X11R6/bin/ssh-askpass

以下與插件無關(guān)的路徑可以在“/etc/sudo.conf”文件中設(shè)置

1)askpass,輔助程序的完全限定路徑,用于在沒有終端可用時(shí)讀取用戶的密碼。當(dāng)sudo從圖形應(yīng)用程序執(zhí)行時(shí),情況可能是這樣。由askpass指定的程序應(yīng)該將傳遞給它的參數(shù)顯示為提示符,并將用戶的密碼寫入標(biāo)準(zhǔn)輸出。askpass可能被環(huán)境變量SUDO_ASKPASS覆蓋。

2)noexec,共享庫的完全限定路徑,包含僅返回錯(cuò)誤的execv()、execve()和fexecve()庫函數(shù)的虛擬版本,用于在支持LD_PRELOAD或其等效的系統(tǒng)上實(shí)現(xiàn)noexec功能。默認(rèn)值為“/usr/libexec/sudo_noexec.so”。

6、調(diào)試標(biāo)志

Sudo版本1.8.4及更高版本支持一種靈活的調(diào)試框架,如果存在問題,可以幫助跟蹤sudo在內(nèi)部做什么。

Debug行由Debug關(guān)鍵字組成,后面跟著要調(diào)試的程序名稱(sudo、visudo、sudoreplay)、調(diào)試文件名和以逗號(hào)分隔的調(diào)試標(biāo)志列表。sudo和sudoers插件使用的調(diào)試標(biāo)志語法是subsystem@priority,但是插件可以自由使用不同的格式,只要它不包括逗號(hào)。例如語句“Debug sudo /var/log/sudo_debug all@warn,plugin@info”將會(huì)在警告級(jí)別和更高級(jí)別記錄插件子系統(tǒng)的所有調(diào)試語句以及信息級(jí)別的語句。

目前,每個(gè)程序只支持一個(gè)調(diào)試條目。sudo調(diào)試條目由sudo前端、sudodit和plugins共享。將來的版本可能會(huì)增加對(duì)每個(gè)插件調(diào)試行的支持和/或?qū)蝹€(gè)程序的多個(gè)調(diào)試文件的支持。

sudo前端使用的優(yōu)先級(jí)依次為:crit、err、warn、notice、diag、info、trace、debug.。當(dāng)指定每個(gè)優(yōu)先級(jí)時(shí),還包括所有高于此優(yōu)先級(jí)的優(yōu)先級(jí)。例如,通知的優(yōu)先級(jí)將包括記錄在通知中的調(diào)試消息以及更高的優(yōu)先級(jí)。

sudo前端可以使用一下子系統(tǒng):

子系統(tǒng)

說明

all 

所有的子系統(tǒng)。

args

命令行參數(shù)進(jìn)程。

conv

用戶回會(huì)話

edit

sudoedit。

exec

命令執(zhí)行過程。

main

sudo的主函數(shù)。

netif

網(wǎng)絡(luò)接口處理。

pcomm

插件會(huì)話

plugin

插件配置。

pty

為tty相關(guān)代碼。

selinux

SELinux專用處理。

util

實(shí)用函數(shù)。

utmp 

utmp處理

7、退出值

當(dāng)程序成功執(zhí)行時(shí),sudo的退出狀態(tài)將只是被執(zhí)行的程序的退出狀態(tài)。否則,如果存在配置/權(quán)限問題或sudo無法執(zhí)行給定的命令,sudo將以1退出。在后一種情況下,錯(cuò)誤字符串將打印到標(biāo)準(zhǔn)錯(cuò)誤。如果sudo無法在用戶路徑中調(diào)用stat函數(shù)統(tǒng)計(jì)一個(gè)或多個(gè)條目,則在stderr上打印錯(cuò)誤。(如果該目錄不存在,或者它實(shí)際上不是一個(gè)目錄,則忽略該條目,并且不打印錯(cuò)誤。)在正常情況下不應(yīng)該發(fā)生這種情況。stat(2)返回“拒絕權(quán)限”的最常見原因是,如果您正在運(yùn)行一個(gè)自動(dòng)偵聽器,并且您的路徑中的一個(gè)目錄位于當(dāng)前無法訪問的計(jì)算機(jī)上。

8、安全說明

當(dāng)執(zhí)行外部命令時(shí),sudo試圖保持安全。為了防止命令欺騙,sudo在用戶路徑中搜索命令時(shí),最后檢查“.”和““。但是請(qǐng)注意,實(shí)際的path環(huán)境變量沒有被修改,而是不改變地傳遞給sudo執(zhí)行的程序。

請(qǐng)注意,sudo通常只記錄它顯式運(yùn)行的命令。如果用戶運(yùn)行“sudo su“或”sudo sh“之類的命令,則從該shell運(yùn)行的后續(xù)命令不受sudo的安全策略的約束,提供shell轉(zhuǎn)義的命令也是如此。如果啟用了I/O日志記錄,隨后的命令將有它們的輸入和輸出記錄,但這些命令不會(huì)有傳統(tǒng)的日志。因此,當(dāng)用戶通過sudo訪問命令時(shí),必須小心,以驗(yàn)證該命令不會(huì)無意中給用戶一個(gè)有效的root shell。

為了防止泄露潛在的敏感信息,sudo在執(zhí)行時(shí)默認(rèn)禁用核心轉(zhuǎn)儲(chǔ)。為了幫助調(diào)試sudo崩潰,您可能希望通過在“/etc/sudo.conf“文件中將“disable_coredump”設(shè)置為false來重新啟用核心轉(zhuǎn)儲(chǔ),如下所示

Set disable_coredump false

請(qǐng)注意,默認(rèn)情況下,大多數(shù)操作系統(tǒng)從setuid程序(包括sudo)禁用核心轉(zhuǎn)儲(chǔ)。要實(shí)際獲得sudo核心文件,您可能需要為setuid進(jìn)程啟用核心轉(zhuǎn)儲(chǔ)。在BSD和Linux系統(tǒng)上,這是通過“sysctl“命令完成的,在Solaris上可以使用”coreadm“命令。

9、環(huán)境變量

sudo使用一下環(huán)境變量,安全策略控制命令環(huán)境的實(shí)際內(nèi)容。

環(huán)境變量

說明

EDITOR

如果沒有設(shè)置SUDO_EDITOR或VISUAL,則默認(rèn)編輯器使用”-e”模式。

MAIL

在“-i“模式中或在sudoers中啟用env_reset時(shí),將其設(shè)置為目標(biāo)用戶的郵件線軸。

HOME

如果指定了“-i“或”-H“,在sudoers中賦值給目標(biāo)用戶的home目錄,或者賦值給env_reset或all_set_home?;蛘弋?dāng)指定”-s“選項(xiàng)時(shí),sudoers中賦值給set_home。

PATH

可能被安全策略覆蓋

SEHLL

使用“-s“選項(xiàng),執(zhí)行運(yùn)行的shell

SUDO_ASKPASS

如果沒有可用的終端,或者指定了“-A“選項(xiàng),則指定用于讀取密碼的輔助程序的路徑。

SUDO_COMMAND

賦值給sudo運(yùn)行的命令

SUDO_EDITOR

“-e“模式下的默認(rèn)編輯器

SUDO_GID

賦值給調(diào)用sudo的用戶的組ID

SUDO_PROMPT

作為默認(rèn)的密碼提示語句

SUDO_PS1

如果設(shè)置,PS1將被設(shè)置為正在運(yùn)行的程序的值。

SUDO_UID

賦值給調(diào)用sudo的用戶的ID

SUDO_USER

賦值給調(diào)用sudo的用戶登錄名

USER

賦值給目標(biāo)用戶(默認(rèn)是root,除非指定“-u“選項(xiàng))

VISUAL

如果在“-e“模式下沒有指定”SUDO_EDITOR“,那么這個(gè)就是默認(rèn)編輯器

10、實(shí)例

1)查看當(dāng)前用戶支持的指令

[weijie@192 /]$ sudo –l       //當(dāng)前用戶沒有權(quán)利執(zhí)行任何sudo指令

[sudo] password for weijie: 

對(duì)不起,用戶 weijie 不能在 192 上運(yùn)行 sudo。

You have new mail in /var/spool/mail/root

 

[root@192 /]# sudo –l       //當(dāng)前用戶是root,因此可以執(zhí)行所有的sudo指令

匹配此主機(jī)上 root 的默認(rèn)條目:

    requiretty, !visiblepw, always_set_home, env_reset, env_keep="COLORS

    DISPLAY HOSTNAME HISTSIZE INPUTRC KDEDIR LS_COLORS", env_keep+="MAIL PS1

    PS2 QTDIR USERNAME LANG LC_ADDRESS LC_CTYPE", env_keep+="LC_COLLATE

    LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES", env_keep+="LC_MONETARY

    LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE", env_keep+="LC_TIME LC_ALL

    LANGUAGE LINGUAS _XKB_CHARSET XAUTHORITY",

   secure_path=/sbin\:/bin\:/usr/sbin\:/usr/bin

 

用戶 root 可以在該主機(jī)上運(yùn)行以下命令:

    (ALL) ALL

2)以指定的用戶身份來執(zhí)行命令,不可以指定root

[root@192 /]# sudo -u weijie ls /home/david/         //以用戶weijie的身份來查看用戶david的家目錄,很明顯是沒有權(quán)利的

ls: 無法打開目錄/home/david/: 權(quán)限不夠

[root@192 /]# sudo -u weijie ls /home/weijie/       //以用戶weijie的身份來查看用戶weijie的家目錄,這個(gè)當(dāng)然可以

1.zip  mail

[root@192 /]# sudo  ls /home/david/                   //直接查看用戶david家目錄,由于當(dāng)前在root環(huán)境下,因此完全可以

mail

3)其他例子代碼

$ sudo -u yaz ls ~yaz                               //查看用戶yaz的家目錄

$ sudo -u www vi ~www/htdocs/index.html          //以用戶www的身份編輯文件

$ sudo -g adm view /var/log/syslog                //以組adm的身份去查看日志文件,  

$ sudo -u jim -g audio vi ~jim/sound.txt         //要使用不同的主組以Jim的身份運(yùn)行編輯器

$ sudo shutdown -r +15 "quick reboot"             //關(guān)機(jī)

$ sudo sh -c "cd /home ; du -s * | sort -rn > USAGE"   //若要對(duì)/home分區(qū)中的目錄進(jìn)行使用列表,請(qǐng)注意,這將在子shell中運(yùn)行命令,以使cd和文件重定向工作


到此,關(guān)于“Linux系統(tǒng)sudo語法的用法”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注億速云網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI