柳大的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中建立一個檔案條目,該條目中指示i0這個inode。
-刪除:刪除一個硬連結,就是修改dir的b1內容,去掉該硬連結條目。
符號連線
-建立:建立一個實在的檔案,為其分配一個inode,記作i2,但不分配block。inode中指示的block為目標檔案的b0.
- 刪除:回收該inode,修改inode bitmap。
(3)建立和刪除連結的命令
建立:ln -s <target> <link>,其中引數s表示symbolic,這種方式產生的是軟連線,又稱為符號連結,相當於Windows中的快捷方式。ln <target> <link>,這種方式產生的是硬連結。兩者都是與原始檔保持同步的。
刪除:與刪除普通的檔案的命令一樣。
(4)軟連線和硬連結的區別
範圍:硬連結必須與目標檔案在同一個檔案系統中,而軟連線檔案可以跨越檔案系統。
(5)連結檔案的許可權
連結檔案的許可權,與目標檔案保持一致。
4、許可權操作
(1)chown(change owner)
作用:改變檔案或目錄的所有者,語法:
chown [-R] <user_name> <file_name>
chown [-R] <user_name> <directory_name>
例:
chown michael example_file
chown -R michael example_directory
(2)chirp(change group)
作用:改變檔案或目錄的所有組,語法:
chgrp [-R] <group_name> <file_name>
chgrp [-R] <group_name> <directory_name>
例:
chgrp admin example_file
chirp -R admin example_directory
(3)chmod(change 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
-
相關文章
- Linux基礎之許可權管理Linux
- Linux-許可權管理(ACL許可權)Linux
- Linux 許可權管理之目錄許可權限制Linux
- 許可權管理[Linux]Linux
- DRF內建許可權元件之自定義許可權管理類元件
- linux 檔案許可權 s 許可權和 t 許可權解析Linux
- Django(63)drf許可權原始碼分析與自定義許可權Django原始碼
- Oracle的物件許可權、角色許可權、系統許可權Oracle物件
- Linux賬戶與許可權管理Linux
- Linux基本許可權管理Linux
- Linux 中的許可權管理Linux
- Linux 下許可權的管理Linux
- Linux 基礎-檔案許可權與屬性Linux
- linux基礎:檔案安全與許可權(轉)Linux
- django開發之許可權管理(一)——許可權管理詳解(許可權管理原理以及方案)、不使用許可權框架的原始授權方式詳解Django框架
- 許可權之選單許可權
- PostgreSQL:許可權管理SQL
- Mysql——許可權管理MySql
- Mysql 許可權管理MySql
- oracle 許可權管理Oracle
- 4、許可權管理
- sql許可權管理SQL
- 許可權管理策略
- MySQL許可權管理MySql
- 呼叫者許可權與定義者許可權的pl/sql子程式SQL
- android動態許可權到自定義許可權框架Android框架
- Linux許可權Linux
- Guest許可權突破——許可權提升方法總結(轉)
- 『學了就忘』Linux許可權管理 — 55、檔案特殊許可權Linux
- oracle的許可權管理的總結Oracle
- 自定義許可權物件物件
- 如何用 Vue 實現前端許可權控制(路由許可權 + 檢視許可權 + 請求許可權)Vue前端路由
- linux 檔案許可權管理Linux
- Linux 基礎回顧 之 檔案與許可權Linux
- Oracle 使用者許可權管理與常用許可權資料字典列表Oracle
- AIX 的許可許可權(轉)AI
- Linux的檔案許可權管理Linux
- 對定義者許可權和呼叫者許可權的理解