前言: Linux一般將文件可存取的身份分為三個類別,分別是 owner/group/others,根據許可權劃分,每個目錄都可以擁有相對身份的-rwx[可讀可寫可執行] 使用者與群組: Owner :文件擁有者,如jane擁有此文件所屬權,可對該文件進行相應許可權操作。 Group :文件擁有組,如一 ...
前言:
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 即全部的身份
文件預設許可權:umask
umask 就是指定 “目前使用者在創建文件或目錄時候的許可權預設值”
1) umask 0022 :與一般許可權相關的是後3位數字,第1位是特殊許可權用的
2) umask –S u=rwx,g=rx,o=rx
3) umask 的分數指的是“該預設值需要減掉的許可權”
如圖所示,git用戶預設umask值為0002 即對所屬者全部擁有,所屬組全部擁有,其他用戶不擁有許可權值2,即w,所以我們新建的test目錄許可權為drwxrwxr-x
Linux文件種類與擴展名
l 純文本文件(ASCII):可以直接讀到的數據,cat指令可查看該文件
l 二進位文件(binary :一般電腦系統的可執行文件
l 數據格式文件(data):特定格式的文件可以被稱為數據文件,last可查看該文件,使用cat會出現亂碼
l 目錄(directory)
l 鏈接文件(link)
l 設備與設備文件(device):與系統周邊及儲存等相關的一些文件,通常在/dev目錄下
² 區塊(block)設備文件:一些儲存數據, 以提供系統隨機存取的周邊設備,如硬碟與軟盤等[b]
² 字元(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----重要的系統執行文件