Linux的檔案許可權和目錄配置(三)
一、檔案許可權的意義
r :可以讀這個檔案的具體內容;
w :可以編輯這個檔案的內容,包括增加刪除檔案的具體內容;
x :檔案就具有了可執行的許可權-------注意:這裡和window不一樣,在win中,檔案的可執行許可權是通過擴充套件名錶現出來的,如exe、bat等,但是在linux中檔案的可執行許可權是通過這個x決定的,與檔名沒有什麼關係。
*當你對一個檔案具有w許可權時,你可以對檔案的內容進行編輯,但是並不具備刪除該檔案的許可權
二、目錄許可權的意義
r : 可以檢視此目錄下的完整檔案列表資訊(當擁有r許可權,但是沒有x許可權時,可以看到名稱但是其他資訊會以?代 替,當沒有r許可權時,完成不會有顯示
w :可以對此目錄下的所有的檔案及目錄進行相關的更改,也就是可以更改這個目錄下的結構列表(這個要重視) 具體權利如下:
(1) 可以在此目錄下建立新的檔案或目錄;
(2)可以在此目錄下刪除存在的檔案或目錄(不論該檔案的許可權是什麼,這點要格外注意!!!!)
(3)可以重新命名及改變檔案或目錄的位置。
x :目錄沒有可執行的許可權,因此目錄中x的功能就是允許別的使用者進入這個目錄
三,example
[email protected]:~$ sudo su
[sudo] password for fanfan:
[email protected]
[email protected]:/tmp# mkdir testing
[email protected]:/tmp# chmod 744 testing
[email protected]:/tmp# touch testing/testing
[email protected]:/tmp# chmod 600 testing/testing
[email protected]:/tmp# ls -ald testing testing/testing
drwxr--r-- 2 root root 4096 1月 28 19:09 testing
-rw------- 1 root root 0 1月 28 19:09 testing/testing
[email protected]:/tmp$ ls -l testing
ls: 無法訪問testing/testing: 許可權不夠
總用量 0
-????????? ? ? ? ? ? testing
[email protected]:/tmp$ cd testing
bash: cd: testing: 許可權不夠
[email protected]:/tmp$ sudo su
[email protected]:/tmp# chown fanfan testing
[email protected]:/tmp# su fanfan
[email protected]:/tmp$ cd /temp/testing
bash: cd: /temp/testing: 沒有那個檔案或目錄
[email protected]:/tmp$ cd testing
[email protected]:/tmp/testing$ ls -l
總用量 0
-rw------- 1 root root 0 1月 28 19:09 testing
[email protected]:/tmp/testing$ rm testing
rm:是否刪除有防寫的普通空檔案 "testing"? y
[email protected]:/tmp/testing$
四 注意事項
<1> 這裡有一個問題就是,有時候我們想和別人(同組,或other)共享一個檔案的時候,你在改變了檔案的許可權後,對方還是不能看到的,因為別人進不了你的使用者主目錄,預設沒有x許可權。如果在這時你為了能讓他看到這個檔案而開放了x許可權,別人就會進入這個目錄裡檢視這個檔案或者修改這個檔案。如果這個人認為檔案很好,想cp一份,那麼他是沒有許可權的,以為目錄預設也是沒有w許可權的,這裡我們要特別注意:最好不要直接開放w許可權,因為這樣別人就可以隨意更改此目錄下的列表了(包括刪除,刪除是很危險的)。因此我們可以把這個檔案cp一份,放到具有w許可權的第三方目錄下,對方也從這裡cp,這樣我們的主目錄就不會受到任何影響了。
<2>這裡有一個好笑的例子,一個系統管理員建了一個 重要.txt 的檔案,為了防止別人對這個檔案有所企圖,於是乎管理員設定許可權為-rex------,這個管理員認為萬無一失了,就把這個檔案隨便放了一個目錄下,心想就算別人看見這個檔案也什麼也幹不了,但是如果此時這個目錄具有w的許可權,那麼別人雖然不能對這個檔案進行任何操作,但是他卻對這個檔案具有刪除的許可權,這個可是致命的。
五 檔案種類和副檔名
(1)檔名
一般檔案 - 純文字檔案 二進位制檔案 資料格式檔案
目錄 d(directory) 目錄
連線檔案 l(link) 類似於windows快捷方式
塊裝置檔案 b(block) 儲存資料,以提供系統隨機訪問的介面裝置
字元裝置檔案 c(character) 串列埠的介面裝置
套接字 s(sockets) socket
管道 p(pipe) 管道
(2)副檔名
一個linux檔案能不能被執行,與它第一列的10個屬性有關,與檔名根本一點關係也沒有,但是我們仍希望可以由副檔名來了解檔案是什麼東西
.sh 指令碼或批處理檔案
*Z *.tar *.tar.gz *.zip *.tgz 壓縮檔案
(3)在Linux下面,預設使用Ext2/Ext3檔案系統時,針對檔案的檔名長度限制為:
單一檔案或目錄的最大容許檔名為255個字元
包含完整路徑名稱及目錄的完整檔名為4096個字元
我們希望Linux的檔名可以一看就知道該檔案是做什麼的,所有檔名通常很長