溫馨提示×

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

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

如何理解Linux Shell中的權(quán)限

發(fā)布時(shí)間:2021-09-28 11:02:16 來源:億速云 閱讀:153 作者:iii 欄目:開發(fā)技術(shù)

本篇內(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ì)文件都有三種操作

  1. r 讀權(quán)限

  2. w 寫/更改權(quán)限

  3. 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í)用文章!

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

免責(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)容。

AI