柳大的Linux講義·基礎篇(3)許可權、連結與許可權管理

鍾超發表於2012-01-25

轉載請註明來自柳大的CSDN部落格,原文連結:http://blog.csdn.net/poechant/article/details/7215038


1Linux的許可權管理

Linux中,每個檔案都有一個擁有者(owner),而由於每個使用者都有一個所屬的使用者組,所以連帶著讓每個檔案都有一個擁有組。所以在Linux的許可權管理中,首先有對於一個檔案的擁有者許可權,一個檔案的使用者組許可權,另外還有一個對於其他所有使用者的許可權。

drwxrwxrwx中的d表示資料夾,第一組rwx表示擁有者的許可權,第二組rwx表示擁有組的許可權,第三組rwx表示其他使用者的許可權。

如果我們從左到右分別編號為012……9,則0位上可以是“-”表示普通檔案(file),“d”表示目錄(directory),“l”表示連結(link)、“b”表示區塊裝置檔案(block,比如磁碟)、“c”表示字元裝置檔案(character,表示一些序列資料介面裝置,比如USB裝置)、“s”網路介面檔案(socket)、“p”表示資料傳輸檔案(pipeFIFO)。

對於檔案,“r”表示可以讀取檔案的內容,“w”表示可以修改檔案的內容,“x”表示可以執行檔案。

對於目錄,“r”表示可以檢視目錄的內容(比如用“ls”命令檢視目錄內的檔案),“w”表示可以修改目錄的內容(比如建立、刪除、更新目錄內的檔案),“x”表示可以進入目錄。

Linux系統中,一個檔案或目錄是否可以被執行,與其名稱是沒有關係的,而取決於rwx屬性,這是與Windows的區別。

另外注意通過網路(包括網際網路和區域網等)傳輸後,檔案的屬性是會被改變的,這與網路傳輸時資料的格式轉換和介面裝置有關。


2、新建檔案或目錄的許可權

1)預設許可權

當在Linux系統中建立一個檔案時,預設其不具有可執行許可權的,而預設具有讀寫許可權。所以檔案的預設許可權是666,即rw-rw-rw-

當在Linux系統中建立一個目錄時,預設其是具有可執行許可權的(即訪問目錄的許可權)。所以檔案的預設許可權是777,即rwxrwxrwx

但是這還沒完,看下面的(2)。

2)初始許可權

上面說的是Linux系統對檔案或目錄的許可權預設值,而在Linux系統中還有umask,它標示著檔案或目錄在建立之初時被掩蓋(mask)掉哪些許可權。所以如果umask022,那麼建立一個新檔案時,初始許可權就是666-022=644了,而目錄則是755.


3、連結

1)軟連結和硬連結

連結分為軟連線(符號連結)和硬連結。

根據上一篇文章《柳大的Linux遊記·基礎篇(2Linux檔案系統的inode》,我們已經知道了一個目錄或檔案在Linux檔案系統中的inodeblock儲存方式。下面以例子說明。

假設目標檔名為target,其inodei0,第一個blockb0。而其所在的目錄dirinodei1,相應的第一個blockb1


2)建立和刪除連結的本質

硬連結

-建立:為一個目標檔案target(設其inodei0,第一個blockb0。而其所在的目錄dirinodei1,相應的第一個blockb1)建立一個硬連線h-link時,實際上發生的操作是,在dirb1中建立一個檔案條目,該條目中指示i0這個inode

-刪除:刪除一個硬連結,就是修改dirb1內容,去掉該硬連結條目。

符號連線

-建立:建立一個實在的檔案,為其分配一個inode,記作i2,但不分配blockinode中指示的block為目標檔案的b0.

- 刪除:回收該inode,修改inode bitmap


3)建立和刪除連結的命令

建立:ln -s <target> <link>,其中引數s表示symbolic,這種方式產生的是軟連線,又稱為符號連結,相當於Windows中的快捷方式。ln <target> <link>,這種方式產生的是硬連結。兩者都是與原始檔保持同步的。

刪除:與刪除普通的檔案的命令一樣。


4)軟連線和硬連結的區別

範圍:硬連結必須與目標檔案在同一個檔案系統中,而軟連線檔案可以跨越檔案系統。


5)連結檔案的許可權

連結檔案的許可權,與目標檔案保持一致。



4、許可權操作

1chownchange owner

作用:改變檔案或目錄的所有者,語法:

chown [-R] <user_name> <file_name>

chown [-R] <user_name> <directory_name>

例:

chown michael example_file

chown -R michael example_directory


2chirpchange group

作用:改變檔案或目錄的所有組,語法:

chgrp [-R] <group_name> <file_name>

chgrp [-R] <group_name> <directory_name>

例:

chgrp admin example_file

chirp -R admin example_directory


3chmodchange mode

作用:改變檔案或目錄的許可權,語法:

chmod [-R] <XYZ> <file_name>

chmod [-R] <XYZ> <directory_name>

chmod [-R] <u|g|o|a><+|-|=><r|w|x>

例:

chmod 755 example_file

chmod -R 755 example_directory

chmod u=rwx,g=rx,o=r example_file

chmod u+x,g-w example_directory

chmod a-w example_file


轉載請註明來自柳大的CSDN部落格,原文連結:http://blog.csdn.net/poechant/article/details/7215038

-

相關文章