Linux文件目錄和權限
Linux文件目錄和權限
前言:
Linux一般將文件可存取的身份分為三個類別,分別是 owner/group/others,根據權限劃分,每個目錄都可以擁有相對身份的-rwx[可讀可寫可執行]
使用者與群組:
Owner :文件擁有者,如jane擁有此文件所屬權,可對該文件進行相應權限操作。
Group :文件擁有組,如一個project組中,有三個人people1,people2, people3,而該文件被project組所擁有,則組內的三個成員就可以對文件進行相應權限操作。
Other :其他所有者,即除去owner和group的可執行的操作
Linux文件屬性
使用ls -al可查看當前目錄下的文件(-a顯示隱藏文件,以.開頭的文件)
根據空格符劃分:[ 權限 ][鏈接][擁有者][群組][文件大小][ 修改日期 ] [ 文件名 ]
1) [權限]:由十位字符組成,代表這個文件的類型與權限
第一個字符代表這個文件是目錄、文件或鏈接文件等等
目錄
l 當為[ d ]則是目錄,例如上表文件名為“.config”的那一行;
l 當為[ - ]則是文件,例如上表文件名為“esd_auth”那一行;
l 若是[ l ]則表示為鏈接文件(link file);
l 若是[ b ]則表示為設備文件裏面的可供儲存的周邊設備(可隨機存取設備);
l 若是[ c ]則表示為設備文件裏面的序列埠設備,例如鍵盤、鼠標(一次性讀取設備)。
接下來的字符中,以三個為一組,且均為“rwx” 的三個參數的組合。
l [ r ]代表可讀(read)
l [ w ]代表可寫(write)
l [ x ]代表可執行(execute)。
l 這三個權限的位置不會改變,如果沒有權限,就會出現減號[ - ]
l 查閱時可將類型與數據劃分開: [-][rwx][r-x][r--]è1 234 567 890
1 :代表這個文件名為目錄或文件
234:擁有者的權限
567:同群組使用者權限
2) [鏈接]:表示有多少文件名鏈接到此節點(i-node)
每個文件都會將他的權限與屬性記錄到文件系統的i-node中,我們使用的目錄樹卻是使用文件名來記錄,因此每個文件名就會鏈接到一個i-node,這個屬性記錄的,就是有多少不同的文件名鏈接到相同的一個i-node號碼。
3) [擁有者]:表示這個文件(或目錄)的“擁有者帳號”
4) [群組]:表示這個文件的所屬群組
5) [文件大小]:文件的容量大小,默認單位為Bytes
6) [ 修改日期 ]:文件的創建日期或者是最近的修改日期
7) [ 文件名 ]:文件的文件名
改變文件屬性與權限
1) chgrp :改變文件所屬群組(change group):被改變的群組名稱必須要
在/etc/group文件內存在才行,否則就會顯示錯誤
2) chown :改變文件擁有者(change owner): 使用者必須是已經存在系統中的帳號,也就是在/etc/passwd 這個文件中有紀錄的使用者名稱才能改變
chown [-R] 帳號名稱 文件或目錄
chown [-R] 帳號名稱:群組名稱 文件或目錄(可連同變更文件的所屬組)
-R : 進行遞歸(recursive)的持續變更,連同次目錄下的所有文件都變更
3) chmod :改變文件的權限, SUID, SGID, SBIT等等的特性
分別可以使用數字或者是符號來進行權限的變更。
權限分數對照:r:4 w:2 x:1
a) chmod [-R] xyz 文件或目錄
xyz :數字類型的權限屬性,為 rwx 屬性數值的相加。
b) chmod | u g o a | +(加入) -(除去) =(設置) | r w x | 文件或目錄
user、group 、others三種身份,借由u, g, o來代。此外, a 則代表 all 即全部的身份
Linux文件種類與擴展名
l 純文本文件(ASCII):可以直接讀到的數據,cat指令可查看該文件
l 二進制文件(binary :一般計算機系統的可執行文件
l 數據格式文件(data):特定格式的文件可以被稱為數據文件,last可查看該文件,使用cat會出現亂碼
l 目錄(directory)
l 鏈接文件(link)
l 設備與設備文件(device):與系統周邊及儲存等相關的一些文件,通常在/dev目錄下
2 區塊(block)設備文件:一些儲存數據, 以提供系統隨機存取的周邊設備,如硬盤與軟盤等[b]
2 字符(character)設備文件:一些序列埠的周邊設備, 例如鍵盤、鼠標等[c]
l 數據接口文件(sockets): 通常被用在網絡上的數據傳輸
l 數據輸送檔(FIFO, pipe): FIFO也是一種特殊的文件類型,解決多個程序同時存取一個文件所造成的錯誤問題。
Linux文件擴展名
l .sh : 腳本或批處理文件 (scripts)
l Z, .tar, .tar,.gz, .zip, *.tgz: 經過打包的壓縮文件,因壓縮方式不同,後綴也不同
l .html, .php:網頁相關文件
Linux目錄配置的依據—FHS(Filesystem Hierarchy Standard)
l FHS主要功能:規範每個特定的目錄下應該要放置什麽樣子的數據
l FHS下目錄的四種交互形態
1) 可分享的:可以分享給其他系統掛載使用的目錄
2) 不可分享的:一些隱私數據
3) 不變的:不會經常變動的數據
4) 可變的:經常改變的數據
l FHS針對目錄樹架構定義的三層目錄
1) 三個目錄的定義:
2) /(root, 根目錄):與開機系統有關;
3) /usr (unix software resource):與軟件安裝/執行有關;
4) /var (variable):與系統運行過程有關。
/etc----配置文件
/bin----重要執行文件
/dev----所需要的設備文件
/lib----執行文件所需要的函數庫與內核所需的模塊
/sbin----重要的系統執行文件
Linux文件目錄和權限