歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> 關於Linux

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