時(shí)間:2015-06-28 00:00:00 來源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評(píng)論(5)
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)容:
# User privilege specificationroot ALL=(ALL) ALL# Members of the admin group may gain root privileges%admin ALL=(ALL) ALL
下面對(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-get update的話,應(yīng)當(dāng)在命令行中鍵入以下內(nèi)容:
$ sudo apt-get update
2.配置文件語法詳解
接下來,我們用一個(gè)實(shí)例來詳細(xì)解釋/etc/sudoers文件的配置語法,請(qǐng)看下面的例子:
jorge ALL=(root) /usr/bin/find, /bin/rm
上面的第一欄規(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命令。
加上他想運(yùn)行的程序就可以了,比如:
jorge@ubuntu:~$ sudo find . ! -name '*.avi' -exec rm -f //{/
關(guān)鍵詞標(biāo)簽:Sudo命令,Ubuntu系統(tǒng)管
相關(guān)閱讀
熱門文章 安裝紅帽子RedHat Linux9.0操作系統(tǒng)教程 Tomcat9.0如何安裝_Tomcat9.0環(huán)境變量配置方法 多種操作系統(tǒng)NTP客戶端配置 Linux操作系統(tǒng)修改IP
人氣排行 Linux下獲取CPUID、硬盤序列號(hào)與MAC地址 dmidecode命令查看內(nèi)存型號(hào) linux tc實(shí)現(xiàn)ip流量限制 安裝紅帽子RedHat Linux9.0操作系統(tǒng)教程 linux下解壓rar文件 lcx.exe、nc.exe、sc.exe入侵中的使用方法 Ubuntu linux 關(guān)機(jī)、重啟、注銷 命令 查看linux服務(wù)器硬盤IO讀寫負(fù)載