Linux 的檔案許可權與目錄配置

2021-08-27 14:11:40 字數 3947 閱讀 9173

linux中將檔案可訪問的有三種身份,分別為owner,group,others。

檔案所有者(owner) 和 其他人(others) 顧名思義很簡單。群組(group)最有用的功能是用於團隊開發資源,乙個群組有多個成員,乙個成員可以屬於多個群組。比較特殊的是 root 使用者,root使用者可以管理系統中的任何檔案。

使用者和群組的記錄檔案:

先列出乙個檔案

[root@centos764 ~]# ls -l learn.txt

-rw-r--r--. 1 root root 0 9月 8 14:09 learn.txt

[1 ][2 ][3 ][4 ][5 ][6 ][7 ]

[許可權 ][鏈結][擁有者][群組 ][檔案容量][修改日期 ][檔名 ]

第一欄代表檔案的型別和許可權(permission): **

含義d代表為目錄

-代表為檔案,此例中為[-],所以learn.txt是檔案

l代表為鏈結檔(link file)

b代表裝備檔案裡面可供儲存的介面裝置(u盤等)

c代表裝置檔案裡面的串列埠裝置,例如鍵盤、滑鼠

第二欄表示有多少檔名鏈結到此節點(i-node)

每個檔案都會將他的許可權與屬性記錄到檔案系統的i-node中,在目錄樹的檔案系統中用檔名來記錄檔案,每乙個檔名會鏈結到乙個i-node中。這個屬性記錄的是有多少個不同的檔名鏈結到相同的i-node號碼(即乙份檔案有多少個檔名)。

第三欄代表檔案的所有者(owner)

在此例中,learn.txt檔案的擁有者為root

第四欄代表檔案所屬的群組(group)

在此例中,learn.txt檔案所屬群組為root

第五欄代表檔案大小

單位預設為bytes,learn.txt是乙個空檔案

第六欄代表檔案的建立日期或最近的修改日期

如果想要顯示完整的時間,使用ls -l --full-time命令,此例中若要顯示完整時間執行命令ls -l --full-time learn.txt

第七欄代表檔名稱

比較特殊的如果檔名稱已『 . 』開頭,則該檔案為隱藏檔案。用ls -al可以顯示隱藏檔案,比如 .bashrc 就是乙個隱藏檔案。

常見的改變檔案屬性與許可權的命令如下,其中修改檔案所屬群組、所有者,通常是root使用者操作的

修改檔案所屬群組,chmod

命令格式

[root@centos764 ~]# chgrp [-r] newgroup dirname/filename  

選項與引數:

-r: 進行遞迴(recursive)的持續變更,亦即連同次目錄下的所有檔案、目錄 都更新成為這個群組之意。常常用在變更某一目錄內所有的檔案之情況。

注意的是 newgroup 是/etc/group中存在的群組。

範例:

[root@centos764 ~]# ls -l learn.txt

-rw-r--r--. 1 root root 0

9月 8

14:09 learn.txt

[root@centos764 ~]# chgrp admin learn.txt

[root@centos764 ~]# ls -l learn.txt

-rw-r--r--. 1 root admin 0

9月 8

14:09 learn.txt

修改檔案擁有者,chown

命令格式

[root@centos764 ~]#chown [-r] newowner dirname/filename

[root@centos764 ~]#chown [-r] newowner:newgroup dirname/filename

選項與引數:

-r: 進行遞迴(recursive)的持續變更,亦即連同次目錄下的所有檔案都變更

chown 命令可以順便修改檔案/目錄的組名。

修改許可權,chmod

修改許可權有兩種方式,分別是數字、符號:

採用數字模式修改許可權

許可權與數字對照表:

字元數字r4

w2x1

命令格式:

[root@centos764 ~]# chmod [-r] xyz filename/dirname 

選項與引數:

xyz : 就是剛剛提到的數字型別的許可權屬性,為 rwx 屬性數值的相加。

-r: 進行遞迴(recursive)的持續變更,亦即連同次目錄下的所有檔案都會變更

範例,將learn.txt 許可權修改為 owner:rwx,group:rwx,others:rw-

rwx = 4 + 2 + 1 = 7, rw- = 4 + 2 = 6,則執行命令chmod 776 learn.txt

採用字元模式修改許可權

命令格式:

chmod [-r] [ugoa] [+-=] [rwx] filename/dirname

u 代表owner, g 代表group,o 代表others,a 代表all,即a = u + g + o

+ 代表加入,-代表去除,=代表設定

範例:將learn.txt許可權設定為 ower:rw-,group:r–,others:—。

答:chmod u=rw,g=r,o=- learn.txt

將learn.txt的owner新增x許可權,group去掉r許可權,others新增r許可權

答:chmod u+x,g-r,o+r learn.txt

對一般檔案而言 rwx 主要針對檔案內容來設計許可權;對於目錄來說 rwx 主要針對目錄內檔名列表來設計許可權

許可權對檔案的重要性

許可權對檔案作用如下:

x(execute):該檔案可以被系統執行的許可權

與windows不同,在linux中檔案是否可以被執行與拓展名無關,在linux中拓展名僅起作標識的作用,檔案是否能被執行與是否具有 x 許可權有關。

對於檔案的 rwx 僅與檔案的內容的有關,與檔名的存在沒有關係,因此控制檔案是否能夠被刪除的是目錄許可權

許可權對目錄的重要性

檔案是存放實際資料的地方,目錄的主要內容記錄檔名列表。

對於目錄來說:

x(access directory):使用者能否進入該目錄成為工作目錄。

檔案種類

目錄(directory):目錄,第乙個屬性為[d]

鏈結檔(link file):相當於windows系統中的快捷方式,第乙個屬性為[l]

裝置與裝置檔案(device):與系統周邊及儲存相關的檔案,通常在/dev這個目錄下,通常分為兩種:

資料介面檔案(sockets):第乙個屬性為[s],通常在網路上進行資料承接,通常在/run或/tmp目錄中

資料輸送檔案(fifo,pipe):fifo是一種特殊的檔案型別,主要目的在解決多個程式同事訪問乙個檔案所造成的錯誤問題。fifo是first-in-first-out的縮寫。第乙個屬性為[p]

linux 檔案拓展名

乙個linux檔案能不能被執行與拓展名無關,僅與檔案的屬性有關。我們通常通過拓展名來了解檔案作用

fhs(filesystem hierarchy standard)的主要目的是讓使用者了解到已安裝的軟體通常在哪個目錄下。

fhs定義出三層目錄中放什麼資料,分別為:

目錄樹的特性:

個人**中原文 linux 的檔案許可權與目錄配置

Linux檔案許可權與目錄配置

使用者組概念 假如主機有兩個團體,第乙個團體名為projecta,裡面有class1,class2,class3 第二個團體名為projecb,裡面有class4,class5,class6.這兩個團體之間有競爭性質,卻要交同乙份報告。每組成員之間必須能夠互相修改對方的資料,但是其他組的成員則不能看...

Linux 目錄配置與檔案許可權

linux是目前應用最廣泛的伺服器作業系統,基於unix,開源免費,由於系統的穩定性和安全性,市場占有率很高,幾乎成為程式 執行的最佳系統環境。etc etcetera 存放系統配置檔案 bin binaries 存放二進位制可執行檔案 sbin super user binaries 存放二進位制...

Linux檔案許可權與目錄配置

使用者組概念 假如主機有兩個團體,第乙個團體名為projecta,裡面有class1,class2,class3 第二個團體名為projecb,裡面有class4,class5,class6.這兩個團體之間有競爭性質,卻要交同乙份報告。每組成員之間必須能夠互相修改對方的資料,但是其他組的成員則不能看...