您好,登錄后才能下訂單哦!
本篇內(nèi)容介紹了“如何理解Linux Shell中的權(quán)限”的有關(guān)知識(shí),在實(shí)際案例的操作過程中,不少人都會(huì)遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
一個(gè)文件一經(jīng)創(chuàng)建,就具有三種訪問方式:
1) 讀,可以顯示該文件的內(nèi)容。
2) 寫,可以編輯或刪除它。
3) 執(zhí)行,如果該文件是一個(gè)s h e l l腳本或程序。
按照所針對(duì)的用戶,文件的權(quán)限可分為三類:
1) 文件屬主,創(chuàng)建該文件的用戶。
2) 同組用戶,擁有該文件的用戶組中的任何用戶。
3) 其他用戶,即不屬于擁有該文件的用戶組的某一用戶
文件的全部信息包括以下:
文件的位置。
文件類型。
文件長度。
哪位用戶擁有該文件,哪些用戶可以訪問該文件。
節(jié)點(diǎn)。
文件的修改時(shí)間。
文件的權(quán)限位。
可以通過ls -l來查看這些信息,如下面
[root@ksharpdabu home]# ls -l total 24 drwxr-xr-x 2 root root 4096 Mar 15 10:00 Bakblog -rwx------ 1 root root 786 Mar 15 10:18 backupblog.sh -rw-r--r-- 1 root root 614 Mar 16 18:38 bk.sh drwx------ 2 www www 4096 Feb 28 17:04 www drwxr-xr-x 7 www www 4096 Mar 15 10:04 wwwroot
total24:表示該目錄下所有文件所占用的空間
前面的一橫杠表示普通文件,以下是文件類型:
d 目錄。
l 符號(hào)鏈接(指向另一個(gè)文件)。
s 套接字文件。
b 塊設(shè)備文件。
c 字符設(shè)備文件。
p 命名管道文件。
- 普通文件,或者更準(zhǔn)確地說,不屬于以上幾種類型的文件。
-rw-r--r--:表示文件的相關(guān)權(quán)限,除去前面的橫杠,總共九個(gè)字符,
分別對(duì)應(yīng)9個(gè)權(quán)限,前三個(gè)字符代表文件屬主權(quán)限,中間三個(gè)代表同組用戶權(quán)限,后面三個(gè)字符代表其他用戶權(quán)限。每個(gè)人對(duì)文件都有三種操作
r 讀權(quán)限
w 寫/更改權(quán)限
x 執(zhí)行該腳本或程序的權(quán)限
當(dāng)用戶創(chuàng)建一個(gè)新的 文件時(shí)候,系統(tǒng)為了安全考慮,一般不會(huì)給文件的創(chuàng)建者執(zhí)行的權(quán)限,即x。,對(duì)于文件屬主來說,在只有讀權(quán)限位被置位的情況下,仍然可以通過文件重定向的方法向該文件寫入。注意能否刪除一個(gè)文件還依賴于該文件所在目錄權(quán)限位的設(shè)置。我個(gè)人認(rèn)為是取文件所在目錄和文件自身權(quán)限的交集。
件所在目錄權(quán)限位的設(shè)置。 一些舉例:
權(quán)限所代表的含義
r-- --- --- 文文件屬主可讀,但不能寫或執(zhí)行
r-- r-- --- 文文件屬主和同組用戶(一般來說,是文件屬主所在的缺省組)可讀
r-- r-- r- - 文任何用戶都可讀,但不能寫或執(zhí)行
rwx r-- r- - 文文件屬主可讀、寫、執(zhí)行,同組用戶和其他用戶只可讀
rwx r-x --- 文文件屬主可讀、寫、執(zhí)行,同組用戶可讀、執(zhí)行
rwx r-x r- x 文文件屬主可讀、寫、執(zhí)行,同組用戶和其他用戶可讀、執(zhí)行
rw- rw- --- 文文件屬主和同組用戶可讀、寫
rw- rw- r- - 文文件屬主和同組用戶可讀、寫,其他用戶可讀
rw- rw- --- 文文件屬主和同組用戶及其他用戶讀可以讀、寫,慎用這種權(quán)限設(shè)置,因?yàn)槿魏斡脩舳伎梢詫懭朐撐募?/p>
改變文件或目錄的權(quán)限的方法,以下命令常用,切記
chmod命令的一般格式為:
chmod [who] operator [permission] filename
w h o的含義是:
u 文件屬主權(quán)限。
g 同組用戶權(quán)限。
o 其他用戶權(quán)限。
a 所有用戶(文件屬主、同組用戶及其他用戶)。
o p e r a t o r的含義:
+ 增加權(quán)限。
- 取消權(quán)限。
= 設(shè)定權(quán)限。
p e r m i s s i o n的含義:
r 讀權(quán)限。
w 寫權(quán)限。
x 執(zhí)行權(quán)限。
s 文件屬主和組s e t - I D。
t 粘性位*。
l 給文件加鎖,使其他用戶無法訪問。
u,g,o 針對(duì)文件屬主、同組用戶及其他用戶的操作。
*在列文件或目錄時(shí),有時(shí)會(huì)遇到“ t”位。“t”代表了粘性位。如果在一個(gè)目錄上出現(xiàn) “t”位,這就意味著該目錄中的 文件只有其屬主才可以刪除,即使某個(gè)同組用戶具有和屬主
同等的權(quán)限。不過有的系統(tǒng)在這一規(guī)則上并不十分嚴(yán)格。
如果在文件列表時(shí)看到“ t”,那么這就意味著該腳本或程序在執(zhí)行時(shí)會(huì)被放在交換區(qū)(虛
存)。不過由于當(dāng)今的內(nèi)存價(jià)格如此之低,大可不必理會(huì)文件的“ t”的使用。
舉例:修改myfile的權(quán)限
命令 結(jié)果 含義
chmod a-x myfile rw- rw- rw- 收回所有用戶的執(zhí)行權(quán)限
chmod og-w myfile rw- r-- r- - 收回同組用戶和其他用戶的寫權(quán)限
chmod g+w myfile rw- rw- r- - 賦予同組用戶寫權(quán)限
chmod u+x myfile rwx rw- r- - 賦予文件屬主執(zhí)行權(quán)限
chmod go+x myfile rwx rwx r- x 賦予同組用戶和其他用戶執(zhí)行權(quán)限
當(dāng)我們創(chuàng)建test文件時(shí),它的權(quán)限如下:
-rw-r--r-- 1 dave admin 614 Mar 16 18:38
我希望自己具有執(zhí)行權(quán)限,而取消其他所有用戶的讀權(quán)限,修改如下;
#chmod u+x o-r test
test的文件權(quán)限就變?yōu)?/p>
-rwxr----- 1 dave admin 614 Mar 16 18:38
如果希望某個(gè)腳本文件對(duì)你自己來說可執(zhí)行,而且你對(duì)該文件的缺省權(quán)限很放心,那么只要使它對(duì)你來說具有執(zhí)行權(quán)限即可。
# chmod u+x dt
權(quán)限的絕對(duì)模式(就是用數(shù)字表示權(quán)限)
chmod命令絕對(duì)模式的一般形式為:
chmod [mode] file
其中mode是一個(gè)八進(jìn)制數(shù)。r就是4,w就是2,x就是1.
文件屬主 同組用戶 其他用戶
r w x r w x r w x
4 + 2 + 1 4 + 2 + 1 4 + 2 + 1
7 7 7
修改test文件為rwxr--r--
#chmod 744 test
修改mydir目錄極其子目錄權(quán)限為rwxr--r--
#chmod -R 744 mydir //其中的-R表示遞歸,就是把mydir目錄下的所有文件,子目錄都改為744
目錄:
目 錄的權(quán)限位和文件有所不同。目錄的讀權(quán)限位意味著可以列出其中的內(nèi)容。寫權(quán)限位意味著可以在該目錄中創(chuàng)建文件,如果不希望其他用戶在你的目錄中創(chuàng)建文件, 可以取消相應(yīng)的寫權(quán)限位。執(zhí)行權(quán)限位則意味著搜索和訪問該目錄。如果把同組用戶或其他用戶針對(duì)某一目錄的權(quán)限設(shè)置為- - x,那么他們將無法列出該目錄中的文件。如果該目錄中有一個(gè)執(zhí)行位置位的腳本或程序,只要用戶知道它的路徑和文件名,仍然可以執(zhí)行它。用戶不能夠進(jìn)入該目 錄并不妨礙他的執(zhí)行。目錄的權(quán)限將會(huì)覆蓋該目錄中文件的權(quán)限。即取他們的交集
注意,c h m o d命令不進(jìn)行必要的完整性檢查,可以給某一個(gè)沒用的文件賦予任何權(quán)限,但
chmod 命令并不會(huì)對(duì)所設(shè)置的權(quán)限組合做什么檢查。因此,不要看到一個(gè)文件具有執(zhí)行權(quán)限,
就認(rèn)為它一定是一個(gè)程序或腳本。
suid和guid這里就不介紹了,可自行g(shù)oogle文檔,或書籍
chown:修改文件所有者
chgrp:修改文件所有組
c h o w n命令的一般形式為:
chmod -R -h owner file
- R選項(xiàng)意味著對(duì)所有子目錄下的文件也都進(jìn)行同樣的操作。- h選項(xiàng)意味著在改變符號(hào)鏈接文件的屬主時(shí)不影響該鏈接所指向的目標(biāo)文件。
chgrp和chown用法差不多,可自行man
查看自己所屬于的組的命令:
#group或#id
查看其它用戶屬于哪個(gè)組命令:
#group 用戶名
“如何理解Linux Shell中的權(quán)限”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。