歡迎您光臨本站 註冊首頁

柳大的Linux遊記·基礎篇(3)許可權、鏈接與許可權管理

←手機掃碼閱讀     火星人 @ 2014-03-03 , reply:0

柳大的Linux遊記·基礎篇(3)許可權、鏈接與許可權管理

柳大的Linux遊記·基礎篇(3)許可權、鏈接與許可權管理
轉載請註明來自「柳大的CSDN博客」,原文鏈接:http://blog.csdn.net/poechant/article/details/7215038



1、Linux的許可權管理

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

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

    如果我們從左到右分別編號為0、1、2……9,則0位上可以是「-」表示普通文件(file),「d」表示目錄(directory),「l」表示鏈接(link)、「b」表示區塊設備文件(block,比如磁碟)、「c」表示字元設備文件(character,表示一些串列數據介面設備,比如USB設備)、「s」網路介面文件(socket)、「p」表示數據傳輸文件(pipe,FIFO)。

    對於文件,「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)掉哪些許可權。所以如果umask是022,那麼創建一個新文件時,初始許可權就是666-022=644了,而目錄則是755.



3、鏈接

(1)軟鏈接和硬鏈接

    鏈接分為軟連接(符號鏈接)和硬鏈接。

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

    假設目標文件名為target,其inode是i0,第一個block是b0。而其所在的目錄dir的inode為i1,相應的第一個block為b1。



(2)創建和刪除鏈接的本質

    硬鏈接

    - 創建:為一個目標文件target(設其inode是i0,第一個block是b0。而其所在的目錄dir的inode為i1,相應的第一個block為b1)創建一個硬連接h-link時,實際上發生的操作是,在dir的b1中創建一個文件條目,該條目中指示i1這個inode。

    - 刪除:刪除一個硬鏈接,就是修改dir的b1內容,去掉該硬鏈接條目。

    符號連接

    - 創建:創建一個實在的文件,為其分配一個inode,記作i2,但不分配block。inode中指示的block為目標文件的b0.

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



(3)創建和刪除鏈接的命令

    創建:ln -s ,其中參數s表示symbolic,這種方式產生的是軟連接,又稱為符號鏈接,相當於Windows中的快捷方式。ln ,這種方式產生的是硬鏈接。兩者都是與源文件保持同步的。

    刪除:與刪除普通的文件的命令一樣。



(4)軟連接和硬鏈接的區別

    範圍:硬鏈接必須與目標文件在同一個文件系統中,而軟連接文件可以跨越文件系統。



(5)鏈接文件的許可權

    鏈接文件的許可權,與目標文件保持一致。





4、許可權操作

(1)chown(change owner)

    作用:改變文件或目錄的所有者,語法:

chown [-R]

chown [-R]

    例:

chown michael example_file

chown -R michael example_directory



(2)chirp(change group)

    作用:改變文件或目錄的所有組,語法:

chgrp [-R]

chgrp [-R]

    例:

chgrp admin example_file

chirp -R admin example_directory



(3)chmod(change mode)

    作用:改變文件或目錄的許可權,語法:

chmod [-R]

chmod [-R]

chmod [-R] <+|-|=>

    例:

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
《解決方案》

謝謝分享
《解決方案》

學習學習學習,謝謝分享:lol

[火星人 ] 柳大的Linux遊記·基礎篇(3)許可權、鏈接與許可權管理已經有497次圍觀

http://coctec.com/docs/service/show-post-1038.html