天天看點

Linux 的檔案權限和目錄配置

Linux 的檔案權限和目錄配置

https://www.linuxidc.com/Linux/2018-10/154812.htm

1、Linux檔案屬性

用root使用者登入Linux後,執行 ls -al 指令檢視檔案。顯示如下:

Linux 的檔案權限和目錄配置

檔案屬性示意圖如下:

Linux 的檔案權限和目錄配置

第一列代表這個檔案的類型和權限

Linux 的檔案權限和目錄配置

第一個字元代表這個檔案是:目錄、檔案或連結檔案等。

若是【d】則是目錄;

若是【-】則是檔案;

若是【l】則表示為連接配接檔案;

若是【b】則表示裝置檔案裡的可供存儲的接口裝置;

若是【c】則表示裝置檔案裡的串行端口裝置,如滑鼠、鍵盤等。

後面的9個字元以3個位一組,均為rwx的組合。其中r代表可讀,w代表可寫,x代表可執行。注意3個權限的位置不會改變,如果沒有權限,就會出現減号(-)。

第一組  為  “檔案所有者的權限”

第二組  為  “使用者組的權限”

第三組  為  “其他非本使用者組的權限”

第二清單示有多少檔案名連接配接到此節點

每個檔案都會将它的權限和屬性記錄到檔案系統的i-node中,不過我們使用的目錄樹卻是使用檔案名來記錄,是以每個檔案名就會連接配接到一個i-node。這個屬性記錄了有多少不同的檔案名連接配接到相同的一個i-node号碼。

第三清單示這個檔案的“所有者賬号”

第四清單示這個檔案的所屬的使用者組

第五列為這個檔案的大小,預設機關是B

第六列為這個檔案的建立檔案日期或者是最近的修改日期。

第7列為該檔案的檔案名

如果檔案名之前多了一個 “.” ,則說明這個檔案為“隐藏檔案”,隐藏檔案的list清單時,加-a參數可以顯示。ls -al。

2、如何改變檔案的權限和屬性

chgrp  :  改變檔案所屬使用者組

chown :  改變檔案所有者

chmod:  改變檔案的權限

2.1、改變檔案所屬使用者組

chgrp 【-R】 dirname/filename  ...

-R :  進行遞歸的持續更改,也連同子目錄下的所有檔案、目錄都更新成為這個使用者組之意。常常用在更改某一目錄内所有檔案的情況。

範例:

chgrp  hy install.log    :   将install.log檔案的使用者組改為hy使用者組。注意hy使用者組必須要在/etc/group 檔案記憶體在才可以。

2.2、改變檔案的所有者

chown [-R]  賬号名稱  檔案或目錄

chown [-R] 賬号名稱:組名  檔案或目錄

-R:也是遞歸子目錄。

chown bin install.log

chown root:root install.log

改變檔案所有者和使用者組的這兩個指令的應用場景:複制檔案,由于複制行為會複制執行者的屬性和權限,是以複制後需要改變檔案所屬使用者、使用者組等。

2.3、改變檔案的權限

檔案權限有兩種設定方法:數字類型改變權限和符号改變權限。

首先說明各個權限對應的數字:

r:  4

w:  2

x:1

每種身份各自的三個權限分數是需要累加的。

例如:權限為(-rwxrwx---)分數分表是:

owner = rwx = 4+ 2 + 1 = 7

group = rwx = 4+ 2+ 1 = 7

others = --- = 0+0 +0 = 0

是以在設定權限時,該檔案的權限數字就是770.

1)、數字類型改變檔案權限方式

指令:  chmod [-R]  xyz  檔案或目錄

xyz : 代表權限數字。如770.

-R  : 進行遞歸的持續更改。

chmod 777 .bashrc   : 将檔案.bashrc這個檔案的所有權限設定都啟用。

2)、符号類型改變檔案權限方式

使用u、g、o三個字母代表user、group、others 3中身份。此外a代表all,即所有身份。

Linux 的檔案權限和目錄配置

範例: 

chmod u=rwx,go=rx  .bashrc

也可以增加或去除某種權限。

chmod a+w .bashrc

chmod a-x  .bashrc

3、目錄和檔案權限的意義

3.1、權限對于檔案的重要性

r(read):可讀取此檔案的實際内容 

w(write):可以編輯、新增或修改檔案的内容(但是不含删除該檔案)

x(execute):該檔案具有可以被系統執行的權限。

3.2、檔案對目錄的重要性

目錄的主要内容是記錄檔案名清單,檔案名與目錄有強烈的關聯。

r(read):表示具有讀取目錄結構清單的權限,當具有讀取一個目錄的權限時,表示你可以查詢該目錄下的檔案名資料,可以用ls指令将目錄内容顯示出來。

w(write):對目錄來說是很強大的。表示你具有更改該目錄結構的權限。

建立新的檔案和目錄

删除已存在的檔案與目錄

将已存在的檔案或目錄重新命名

轉移該目錄内的檔案、目錄位置

總之,目錄的w權限與該目錄下面的檔案名變動有關就對了。

x(execute):目錄的x權限代表使用者是否能進入該目錄成為工作目錄的用途。

是以,要開放目錄給任何人浏覽時,應該至少也要給與r及x權限,但是w權限不可以随便給。

4、Linux檔案的種類及擴充名

4.1、檔案的種類

普通檔案:純文字檔案、二進制檔案、資料格式檔案

目錄

連接配接檔案

裝置與裝置檔案

套接字:資料接口檔案,通常被用在網絡上的資料連接配接。第一個屬性為s,通常在/var/run  這個目錄中可以看到這種檔案類型。

管道(FIFO,pipe):它的主要目的在解決多個程式同時通路一個檔案所造成的錯誤問題。第一個屬性為p

4.2、Linux檔案擴充名

基本上linux的檔案是沒有所謂的“擴充名”的。一個linux檔案能不能被執行,與它的第一列的10個屬性有關,與檔案名根本沒有一點關系。隻要你的權限中有x的話,即代表可以被執行。但是可以被執行和可以執行成功是不一樣的。能不能執行成功,需要看檔案的内容。

雖然如此,我們還是希望可以通過擴充名來了解該檔案是什麼東西,還是會以适當的擴充名來表示該檔案是什麼種類的。

以下是幾種常用的擴充名:

*.sh:腳本或批處理檔案。

*Z、*.tar、*.tar.gz、*.zip、*.tgz:經過打包的壓縮檔案。

*.html、*.php:網頁相關檔案。

注意:從網絡上傳送到linux系統中,檔案的屬性和權限确實會被改變。

linux系統下檔案長度限制

使用預設的Ext2/Ext3檔案系統時,針對檔案的檔案名長度的限制為:

單一檔案或目錄的最大容許檔案名為255個字元;

包含完整路徑名稱及目錄(/)的完整檔案名為4096個字元

 5、Linux目錄配置标準:FHS

因為利用linux來開發産品的團隊或公司、個人實在太多了。如果每個人都用自己的想法來配置檔案放置的目錄,那麼将可能造成很多管理上的困擾。後來就有了所謂的Filesystem Hierarchy Standard (FHS) 标準了。

該标準指出,其目的主要是希望讓使用者可以了解到已安裝的軟體通常放置于哪個目錄下。FHS的重點在于規範每個特定的目錄下應該要放置什麼樣子的資料而已。

FHS依據檔案系統使用的頻繁與否和是否允許使用者随意改動,而将目錄定義為四種互動作用的形态。

Linux 的檔案權限和目錄配置

FHS針對目錄樹架構僅定義出三層目錄下面應該放置什麼樣的資料而已,分别是下面這三個目錄:

/ (root,根目錄):與開機系統有關

/usr(UNIX software resource):與軟體安裝和執行有關

/var(variable):與系統運作過程有關。

繼續閱讀