自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

如何利用sudo命令為Ubuntu分配管理權(quán)限?

運(yùn)維 系統(tǒng)運(yùn)維
ubuntu系統(tǒng)與windows系統(tǒng)在使用習(xí)慣上有很大的區(qū)別,可能剛開始使用的用戶還很不習(xí)慣。在ubuntu系統(tǒng)上有些命令普通用戶沒有權(quán)限運(yùn)行的,而sudo命令是指用管理員ROOT運(yùn)行這個(gè)命令,下文介紹的是利用sudo命令為Ubuntu分配管理權(quán)限的方法。

ubuntu系統(tǒng)與windows系統(tǒng)在使用習(xí)慣上有很大的區(qū)別,可能剛開始使用的用戶還很不習(xí)慣。在ubuntu系統(tǒng)上有些命令普通用戶沒有權(quán)限運(yùn)行的,而sudo命令是指用管理員ROOT運(yùn)行這個(gè)命令,下文介紹的是利用sudo命令為Ubuntu分配管理權(quán)限的方法。

Ubuntu有一個(gè)與眾不同的特點(diǎn),那就是初次使用時(shí),你無法作為root來登錄系統(tǒng),為什么會(huì)這樣?這就要從系統(tǒng)的安裝說起。對(duì)于其他Linux系統(tǒng)來說,一般在安裝過程就設(shè)定root密碼,這樣用戶就能用它登錄root帳戶或使用su命令轉(zhuǎn)換到超級(jí)用戶身份。與之相反,Ubuntu默認(rèn)安裝時(shí),并沒有給root用戶設(shè)置口令,也沒有啟用root帳戶。問題是要想作為root用戶來運(yùn)行命令該怎么辦呢?沒關(guān)系,我們可以使用sudo命令達(dá)此目的。

sudo是linux下常用的允許普通用戶使用超級(jí)用戶權(quán)限的工具,該命令為管理員提供了一種細(xì)顆粒度的訪問控制方法,通過它人們既可以作為超級(jí)用戶又可以作為其它類型的用戶來訪問系統(tǒng)。這樣做的好處是,管理員能夠在不告訴用戶root密碼的前提下,授予他們某些特定類型的超級(jí)用戶權(quán)限,這正是許多系統(tǒng)管理員所夢(mèng)寐以求的。

1.sudo的缺省配置

默認(rèn)時(shí),Ubuntu為sudo提供了一個(gè)基本的配置,該配置保存在/etc目錄下的sudoers文件中。在修改該配置文件時(shí),務(wù)必使用visudo工具來進(jìn)行編輯,因?yàn)樵摴ぞ邥?huì)自動(dòng)對(duì)配置語法進(jìn)行嚴(yán)格檢查,如果發(fā)現(xiàn)錯(cuò)誤,在保存退出時(shí)給出警告,并提示你哪段配置出錯(cuò),從而確保該配置文件的正確性。相反,如果使用其它的文本編輯程序的話,一旦出錯(cuò),就會(huì)給系統(tǒng)帶來嚴(yán)重的后果。下面給出的是Ubuntu默認(rèn)的/etc/sudoers文件內(nèi)容:

#Userprivilegespecification字串7

rootALL=(ALL)ALL

#Member soft head min group may gain root privileges

%adminALL=(ALL)ALL字串6

下面對(duì)以上配置做簡(jiǎn)要說明:

第一項(xiàng)配置的作用,是允許root用戶使用sudo命令變成系統(tǒng)中任何其它類型的用戶。第二個(gè)配置規(guī)定,管理組中的所有成員都能以root的身份執(zhí)行所有命令。因此,在默認(rèn)安裝的Ubuntu系統(tǒng)中,要想作為root身份來執(zhí)行命令的話,只要在sudo后面跟上欲執(zhí)行的命令即可。下面用一個(gè)例子加以說明,如果您想執(zhí)行apt-getupdate的話,應(yīng)當(dāng)在命令行中鍵入以下內(nèi)容:

$sudoapt-getupdate字串1

2.配置文件語法詳解

接下來,我們用一個(gè)實(shí)例來詳細(xì)解釋/etc/sudoers文件的配置語法,請(qǐng)看下面的例子:

jorgeALL=(root)/usr/bin/find,/bin/rm字串2

上面的第一欄規(guī)定它的適用對(duì)象:用戶或組,就本例來說,它是用戶jorge。此外,因?yàn)橄到y(tǒng)中的組和用戶可以重名,要想指定該規(guī)則的適用對(duì)象是組而非用戶的話,組對(duì)象的名稱一定要用百分號(hào)%開頭。

第二欄指定該規(guī)則的適用主機(jī)。當(dāng)我們?cè)诙鄠€(gè)系統(tǒng)之間部署sudo環(huán)境時(shí),這一欄格外有用,這里的ALL代表所有主機(jī)。但是,對(duì)于桌面系統(tǒng)或不想將sudo部署到多個(gè)系統(tǒng)的情況,這一欄就換成相應(yīng)的主機(jī)名。

第三欄的值放在括號(hào)內(nèi),指出第一欄規(guī)定的用戶能夠以何種身份來執(zhí)行命令。本例中該值設(shè)為root,這意味著用戶jorge能夠以root用戶的身份來運(yùn)行后面列出的命令。該值也可以設(shè)成通配符ALL,jorge便能作為系統(tǒng)中的任何用戶來執(zhí)行列出的命令了。

最后一欄(即/usr/bin/find,/bin/rm)是使用逗號(hào)分開的命令表,這些命令能被第一欄規(guī)定的用戶以第三欄指出的身份來運(yùn)行它們。本例中,該配置允許jorge作為超級(jí)用戶運(yùn)行/usr/bin/find和/bin/rm這兩個(gè)命令。需要指出的是,這里列出的命令一定要使用絕對(duì)路徑。

3.sudo命令的使用方法

現(xiàn)在的問題是,用戶jorge怎樣利用分配給他的權(quán)限呢?其實(shí)很簡(jiǎn)單,只要在命令行模式下使用sudo命令字串1

加上他想運(yùn)行的程序就可以了,比如:

jorge@ubuntu:~$sudofind.!-name'*.avi'-execrm-f\\\\{\\\\}\\\\;字串5

倘若jorge企圖執(zhí)行/etc/sudoers文件規(guī)定之外的程序(比如find或rm)的話,sudo命令便會(huì)以失敗而告終,并給出警告信息,指出他無權(quán)以超級(jí)用戶身份來運(yùn)行這些命令。

要想以非root用戶身份來運(yùn)行命令,必須使用-u選項(xiàng)來指定想要作為的用戶;否則的話,sudo會(huì)默認(rèn)為root用戶,比如要想以fred身份來執(zhí)行l(wèi)s命令,就應(yīng)該這樣:

$sudo-ufredls/home/fred字串8

就像您看到的那樣,我們可以利用這些規(guī)則為系統(tǒng)創(chuàng)建具體的角色。例如,要讓一個(gè)組負(fù)責(zé)帳戶管理,你一方面不想讓這些用戶具備完全的root訪問權(quán)限,另一方面還得讓他們具有增加和刪除用戶的權(quán)利,那么我們可以在系統(tǒng)上創(chuàng)建一個(gè)名為accounts的組,然后把那些用戶添加到這個(gè)組里。之后,再使用visudo為/etc/sudoers添加下列內(nèi)容:

%accountsALL=(root)/usr/sbin/useradd,/usr/sbin/userdel,/usr/sbin/usermod字串9

現(xiàn)在好了,accounts組中的任何成員都能運(yùn)行useradd、userdel和usermod命令了。如果過一段時(shí)間后,您發(fā)現(xiàn)該角色還需要其他工具,只要在該表的尾部將其添上就行了。這樣真是方便極了!

需要注意的是,當(dāng)我們?yōu)橛脩舳x可以運(yùn)行的命令時(shí),必須使用完整的命令路徑。這樣做是完全出于安全的考慮,如果我們給出的命令只是簡(jiǎn)單的userad而非/usr/sbin/useradd,那么用戶有可能創(chuàng)建一個(gè)他自己的腳本,也叫做userad,然后放在它的本地路徑中,如此一來他就能夠通過這個(gè)名為useradd的本地腳本,作為root來執(zhí)行任何他想要的命令了。這是相當(dāng)危險(xiǎn)的!

sudo命令的另一個(gè)便捷的功能,是它能夠指出哪些命令在執(zhí)行時(shí)不需要輸入密碼。這很有用,尤其是在非交互式腳本中以超級(jí)用戶的身份來運(yùn)行某些命令的時(shí)候。例如,想要讓用戶作為超級(jí)用戶不必輸入密碼就能執(zhí)行kill命令,以便用戶能立刻殺死一個(gè)失控的進(jìn)程。為此,在命令行前邊加上NOPASSWD:屬性即可。例如,可以在/etc/sudoers文件中加上下面一行,從而讓jorge獲得這種權(quán)力:

jorgeALL=(root)NOPASSWD:/bin/kill,/usr/bin/killall字串7

這樣一來,jorge就能運(yùn)行以下命令,作為root用戶來殺死失控的rm進(jìn)程了。

jorge@ubuntu:~$sudokillallrm字串8

4.如何啟用root帳戶

通過以上介紹,我們發(fā)現(xiàn)sudo的確很好用,但是如果您早就習(xí)慣了在root下工作,想回味一下過去的感覺該怎么辦呢?很簡(jiǎn)單,只要為root設(shè)置一個(gè)root密碼就行了:

$sudopasswdroot字串2

好了,現(xiàn)在您能直接作為root登錄了。

總結(jié):

希望本文介紹的利用sudo命令為Ubuntu分配管理權(quán)限的方法能夠?qū)ψx者有所幫助,更多有關(guān)linux系統(tǒng)的知識(shí)還有待于讀者去探索和學(xué)習(xí)。

【編輯推薦】

  1. Ubuntu中如何轉(zhuǎn)換圖片格式?
  2. Ubuntu 11.10 Beta 1 正式發(fā)布
  3. UbuntuLinux虛擬機(jī)如何進(jìn)行驅(qū)動(dòng)安裝?
  4. GoodReader Ubuntu如何進(jìn)行文件傳送?
  5. 如何修改ubuntu系統(tǒng)中sudo命令輸入密碼的時(shí)間?
責(zé)任編輯:韓亞珊 來源: 系統(tǒng)之家
相關(guān)推薦

2011-04-18 14:12:44

2017-01-17 15:29:59

2022-07-20 17:41:46

漏洞黑客網(wǎng)絡(luò)攻擊

2021-12-19 07:23:54

黑客WordPress網(wǎng)絡(luò)攻擊

2019-02-28 09:30:04

Ubuntusudo命令

2021-04-22 21:58:08

Windows 10Windows微軟

2017-06-14 14:33:58

2023-07-03 12:03:08

2010-01-08 14:25:54

Ubuntu sudo

2024-12-26 14:51:58

2011-09-02 11:29:45

ubuntusudo

2023-10-18 11:15:28

2010-10-22 10:44:16

SQL Server權(quán)

2011-08-24 13:24:52

2024-04-26 11:52:12

2022-08-04 07:03:11

Linux配置命令

2021-07-27 11:01:02

Windows

2022-02-16 08:45:55

Vue-Router權(quán)限管理系統(tǒng)權(quán)限驗(yàn)證

2019-11-26 10:34:13

Linuxsudo權(quán)限命令

2022-03-10 15:11:46

分布式數(shù)據(jù)管理鴻蒙
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)