溫馨提示×

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

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

Linux中如何實(shí)現(xiàn)文件和文件夾權(quán)限

發(fā)布時(shí)間:2021-07-14 14:18:58 來源:億速云 閱讀:129 作者:小新 欄目:服務(wù)器

這篇文章將為大家詳細(xì)講解有關(guān)Linux中如何實(shí)現(xiàn)文件和文件夾權(quán)限,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

Linux 文件權(quán)限

首先來查看一下當(dāng)前目錄下的文件內(nèi)容吧

ls -l    查看當(dāng)前目錄下的文件列表
ls -l xxx.xxx (xxx.xxx是文件名) 查看指定的文件

Linux中如何實(shí)現(xiàn)文件和文件夾權(quán)限

我們可以看到文件的權(quán)限,-rw-rw-r--  ,一共有10位數(shù)。

其中: 最前面那個(gè) - 代表的是類型(詳細(xì)如下面貼圖所示)

  1. 中間那三個(gè) rw- 代表的是所有者(user)

  2. 然后那三個(gè) rw- 代表的是組群(group)

  3. 最后那三個(gè) r-- 代表的是其他人(other)

然后我再解釋一下后面那9位數(shù):

  1. r 表示文件可以被讀(read)

  2. w 表示文件可以被寫(write)

  3. x 表示文件可以被執(zhí)行(如果它是程序的話)

- 表示相應(yīng)的權(quán)限還沒有被授予

文件和文件夾操作權(quán)限:

權(quán)限簡(jiǎn)寫對(duì)普通文件的作用對(duì)文件夾的作用
讀取r查看文件內(nèi)容列出文件夾中的文件(ls)
寫入w修改文件內(nèi)容在文件夾中刪除、添加或重命名文件(夾)
執(zhí)行x文件可以作為程序執(zhí)行cd 到文件夾

Linux中如何實(shí)現(xiàn)文件和文件夾權(quán)限

Linux中如何實(shí)現(xiàn)文件和文件夾權(quán)限

需要注意的一點(diǎn)是,一個(gè)目錄同時(shí)具有讀權(quán)限和執(zhí)行權(quán)限才可以打開并查看內(nèi)部文件,而一個(gè)目錄要有寫權(quán)限才允許在其中創(chuàng)建其它文件,這是因?yàn)槟夸浳募?shí)際保存著該目錄里面的文件的列表等信息。

補(bǔ)充:

特殊權(quán)限SUID、SGID、Sticky
在 linux 系統(tǒng)中還有三種與用戶身份無關(guān)的三個(gè)文件權(quán)限屬性。即SUID、SGID和Sticky。
SUID(Set User ID, 4):
該屬性只對(duì)有執(zhí)行權(quán)限的文件有效,對(duì)目錄無效。執(zhí)行具有SUID權(quán)限的程序時(shí),引發(fā)的進(jìn)程的所有者是程序文件的所有者,而不是啟動(dòng)程序的用戶(除非二者是同一個(gè)人)。比如,如果一個(gè)程序的所有者是root且具有SUID屬性,一個(gè)普通用戶執(zhí)行此程序時(shí),如同root執(zhí)行此程序一樣。(請(qǐng)注意該屬性對(duì)Shell腳本程序無效)該屬性為一些特殊程序(如lpr)的啟動(dòng)帶來了方便。但有時(shí)也帶來了安全隱患:比如一個(gè)具有SUID屬性的程序如果在執(zhí)行時(shí)運(yùn)行了一個(gè)shell,那么用戶可以籍此得到系統(tǒng)的最高權(quán)限。SUID可用s表示,如:

$ ls -l /usr/bin/passwd
-rwsr-xr-x 1 root root 47032 Feb 16 2014 /usr/bin/passwd

SGID(Set Group ID, 4):
對(duì)于可執(zhí)行文件,SGID與SUID類似,引發(fā)的進(jìn)程的所有組是程序文件所屬的組。對(duì)于目錄,SGID屬性會(huì)使目錄中新建文件的所屬組與該目錄相同。SGID也可以用s表示,如:

$ ls -l /var
drwxrwsr-x 2 root staff  4096 Apr 10 2014 local
drwxrwxr-x 15 root syslog  4096 Apr 4 19:57 log

Sticky, 1:
僅對(duì)目錄有效。帶sticky屬性的目錄下的文件或目錄可以被其擁有者刪除或改名。常利用sticky屬性創(chuàng)建這樣的目錄:組用戶可以在此目錄中創(chuàng)建新文件、修改文件內(nèi)容,但只有文件所有者才能對(duì)自己的文件進(jìn)行刪除或改名。如系統(tǒng)中的/tmp文件夾。在屬性字符串中,通常用t表示。

$ ls -l /
drwxrwxrwt  8 root root 4096 Apr 4 23:57 tmp

改文件和文件夾對(duì)應(yīng)用戶的操作權(quán)限   

如果你有一個(gè)自己的文件不想被其他用戶讀、寫、執(zhí)行,那么就需要對(duì)文件的權(quán)限做修改,這里有兩種方式:

方式一:二進(jìn)制數(shù)字表示

Linux中如何實(shí)現(xiàn)文件和文件夾權(quán)限

每個(gè)文件的三組權(quán)限:

  1. u 代表所有者(user)

  2. g 代表所有者所在的組群(group)

  3. o 代表其他人,但不是u和g (other)

  4. a 代表全部的人,也就是包括u,g和o

  5. 根據(jù)上圖,其中:rwx也可以用數(shù)字來代替

  6. r ------------4

  7. w -----------2

  8. x ------------1

  9. - ------------0

當(dāng)大家都明白了上面的東西之后,那么我們常見的以下的一些權(quán)限就很容易都明白了:

  1. -rw------- (600) 只有所有者才有讀和寫的權(quán)限

  2. -rw-r--r-- (644) 只有所有者才有讀和寫的權(quán)限,組群和其他人只有讀的權(quán)限

  3. -rwx------ (700) 只有所有者才有讀,寫,執(zhí)行的權(quán)限

  4. -rwxr-xr-x (755) 只有所有者才有讀,寫,執(zhí)行的權(quán)限,組群和其他人只有讀和執(zhí)行的權(quán)限

  5. -rwx--x--x (711) 只有所有者才有讀,寫,執(zhí)行的權(quán)限,組群和其他人只有執(zhí)行的權(quán)限

  6. -rw-rw-rw- (666) 每個(gè)人都有讀寫的權(quán)限

  7. -rwxrwxrwx (777) 每個(gè)人都有讀寫和執(zhí)行的權(quán)限

上實(shí)際操作

查看了test的權(quán)限,是所有者擁有讀、寫、執(zhí)行的權(quán)限:

Linux中如何實(shí)現(xiàn)文件和文件夾權(quán)限

然后向文件里添加了些內(nèi)容,更改了下權(quán)限(700:-rwx------),并嘗試在shiyanlou(所有者)下讀取文件,可以讀取。

Linux中如何實(shí)現(xiàn)文件和文件夾權(quán)限

更換到其他用戶Peter,如下圖再嘗試讀取,顯示是權(quán)限不夠,無法讀取。

Linux中如何實(shí)現(xiàn)文件和文件夾權(quán)限

方式二:加減賦值操作

  1. u 代表所有者(user)

  2. g 代表所有者所在的組群(group)

  3. o 代表其他人,但不是u和g (other)

a 代表全部的人,也就是包括u,g和o

+ 和 - 分別表示增加和去掉相應(yīng)的權(quán)限。+號(hào)一般不顯示(初學(xué)練手時(shí)我還是會(huì)加上)

在終端輸入:

chmod o+w xxx.xxx
chmod o w xxx.xxx         表示給其他人授予寫xxx.xxx這個(gè)文件的權(quán)限

chmod go-rw xxx.xxx      表示刪除xxx.xxx中組群和其他人的讀和寫的權(quán)限
chmod ug-r xxx.xxx

Linux中如何實(shí)現(xiàn)文件和文件夾權(quán)限

Linux中如何實(shí)現(xiàn)文件和文件夾權(quán)限

修改文件或文件夾的擁有者/所屬的組

使用命令chown改變目錄或文件的所有權(quán)(所有者/組)

注釋:這里說的斷斷續(xù)續(xù)的,將在學(xué)習(xí)下一個(gè)內(nèi)容(用戶/組 增刪改查)之后補(bǔ)充

文件與目錄不僅可以改變權(quán)限,其所有權(quán)及所屬用戶組也能修改,和設(shè)置權(quán)限類似,用戶可以通過圖形界面來設(shè)置,或執(zhí)行chown命令來修改。
我們先執(zhí)行l(wèi)s -l看看目錄情況:

Linux中如何實(shí)現(xiàn)文件和文件夾權(quán)限

可以看到test文件的所屬用戶組為root,所有者為root。
執(zhí)行下面命令,把上圖中test文件的所有權(quán)轉(zhuǎn)移到用戶peter:
# chown peter test

Linux中如何實(shí)現(xiàn)文件和文件夾權(quán)限

要改變所屬組,將test文件從root組中轉(zhuǎn)移到組Peter中,可使用下面命令:
# chown :peter test

Linux中如何實(shí)現(xiàn)文件和文件夾權(quán)限

將所屬的用戶和組一起更改
將文件夾或文件test的擁有者修改成shiyanlou,所屬的組修改成shiyanlou,如下圖:

Linux中如何實(shí)現(xiàn)文件和文件夾權(quán)限

關(guān)于“Linux中如何實(shí)現(xiàn)文件和文件夾權(quán)限”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。

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

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

AI