歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> 關於Linux >> Linux學習之二——檔案與目錄的屬性和權限

Linux學習之二——檔案與目錄的屬性和權限

日期:2017/3/1 12:25:40   编辑:關於Linux
一、屬性和權限的基本概念 Linux一般將檔案可存取的身份分為三個類別,分別是 owner/group/others,這三種身份各有 read/write/execute 等權限。 所有的系統上的賬號與一般身份使用者,還有那個root的相關信息, 都是記錄在/etc/passwd這個檔案內的。個人的密碼則是記錄在/etc/shadow這個檔案下。 此外,Linux所有的組名都紀錄在/etc/group內 用ls -al查看目錄下的文件,a表示看所有文件,l表示以列表的形式顯示。 1. 第一欄代表這個檔案的類型與權限(permission): 第一個字符代表這個檔案是『目錄、檔案或鏈接文件等等』: 1) 當為[ d ]則是目錄; 2) 當為[ - ]則是檔案,包括純文件檔,二進制文件,數據格式文件 3) 若是[ l ]則表示為連結檔(link file); 4) 若是[ b ]則表示為裝置文件裡面的可供儲存的接口設備(可隨機存取裝置); 5) 若是[ c ]則表示為裝置文件裡面的串行端口設備,例如鍵盤、鼠標(一次性讀取裝置)。 6) 若是[ s ]則表示資料接口文件sockets 7) 若是[ p ]則表示為數據輸送文件。 接下來的字符中,以三個為一組,均為『rwx』 的三個參數的組合。其中,[ r ]代表可讀(read)、[ w ]代表可寫(write)、[ x ]代表可執行(execute)。 要注意的是,這三個權限的位置不會改變,如果沒有權限,就會出現減號[ - ]而已。 第一組為『檔案擁有者的權限』,第二組為『同群組的權限』,第三組為『其他非本群組的權限』。 2. 第二欄表示有多少檔名連結到此節點(i-node): 3. 第三欄表示這個檔案(或目錄)的『擁有者賬號』 4. 第四欄表示這個檔案的所屬群組 5. 第五欄為這個檔案的容量大小,默認單位為bytes 6. 第六欄為這個檔案的建檔日期或者是最近的修改日期 7. 第七欄為這個檔案的檔名 比較特殊的是:如果檔名前多一個『 . 』,則代表這個檔案為『隱藏檔』,例如上表中的.gconf那一行,該檔案就是隱藏檔。 二、權限相關的命令 我們用下面的命令來設置目錄和檔案的權限: 1. chgrp:改變所屬群組. chgrp 參數 group dirname/filename 選項與參數 -R:進行遞歸變更 2. chown:改變檔案擁有者,可以順便修改群組 chown 參數 賬號名稱 檔案或目錄 chown 參數 賬號名稱:組名 檔案或目錄 選項與參數 -R:進行遞歸變更 3. chmod:改變權限 1) 數字類型改變檔案權限: chmod [-R] xyz 檔案或目錄 選項與參數: xyz : 數字類型的權限屬性,為 rwx 屬性數值的相加。 -R : 進行遞歸變更 2) 符號類型改變檔案權限 u代表user,g代表group,o代表others,a代表所有。 +加入,-除去,=設定 r代表讀,w代表寫,x代表執行 chmod u=rwx,go+rx .bashrc 4. umask:檔案預設權限 umask 查看權限 umask -S 以符號類型的方式來顯示出權限 umask xyz 設置權限 建立檔案時,默認權限為:-rw-rw-rw- 建立目錄時:默認權限為:drwxrwxrwx 用建立檔案和目錄時的默認權限來減去umask預設權限就是新建的檔案或目錄實際的權限。 四、檔案隱藏屬性 1. 檔案的一些隱藏屬性: 1) A: 存取此檔案(或目錄)時,他的訪問時間 atime 將不會被修改,可避免I/O較慢癿機器過度的存取磁盤。這對速度較慢的計算機有幫助 2) S :一般檔案是異步寫入磁盤的,如果加上 S 這個 屬性時,任何更新都會『同步』寫入磁盤中。 3) a :檔案將只能增加數據,而不能刪除或修改數據,叧有root 才能設定這個屬性。 4) c :自動將此檔案『壓縮』,在讀取的時候將會自動解壓縮, 在儲存的時候,將會先進行壓縮後再儲存(對於大檔案比較有用!) 5) d :設定 d 屬性將可使該檔案(或目錄)不會被 dump 備份 6)i :讓一個檔案『不能被刪除、改名、設定連結也無法寫入或新增資料!』對於系統的安全性有很大的幫助!只有 root 能設定此屬性 7) s :如果這個檔案被刪除,他將會被完全移除出這個硬盤空間,所以如果誤刪了,就無法救回了喔! 8) u :如果該檔案被刪除了,則數據內容其實還存在磁盤中,可以救回該檔案! 2.配置隱藏屬性: chattr [+-=]屬性 檔案或目錄名稱 選項與參數: + :增加某一個特殊參數,其他原本存在屬性則不動。 - :移除某一個特殊參數,其他原本存在屬性則不動。 = :設定屬性 3.查看隱藏屬性: lsattr [-adR] 檔案或目錄 選項與參數: -a :顯示隱藏文件; -d :如果接的是目錄,僅列出目錄本身的屬性而非目錄內的文件名; -R :連同子目錄的數據也一並列出來! 五、檔案與目錄的特殊權限 1. SUID權限,s標記在owner的x位置 該權限僅對二進制程序有效且需要執行者對程序有執行權限,這樣就能使執行者在執行的過程中具有該程序擁有者的權限。 2. SGID權限,s標記在group的x位置 該權限僅對二進制程序有效且需要執行者對程序有執行權限,這樣就能使執行者在執行的過程中具有該程序群組的權限。 3. SBIT權限, 該權限針對目錄有效,需要用戶對目錄有寫和執行的權限,當用戶在該目錄下建立檔案或目錄時,僅有自己與root才有刪除權限。 4. 特殊權限的修改,用chmod指令。
Copyright © Linux教程網 All Rights Reserved