DBA基礎課程-linux基礎入門:linux文件/目錄的權限和歸屬管理
最新學訊:近期OCP認證正在報名中,因考試人員較多請盡快報名獲取最近考試時間,報名費用請聯系在線老師,甲骨文官方認證,報名從速!
我要咨詢dba基礎課程-linux基礎入門:linux文件/目錄的權限和歸屬管理
在linux中的每一個文件或目錄都包含有訪問權限,這些訪問權限決定了誰能訪問和如何訪問這些文件和目錄。相應的每一個文件和目錄都有所屬的屬主和屬組,合理的設置文件和目錄的屬組和屬主在文件/目錄管理中占據著很重要的地位,所以,今天我就和大家一起來看一下有關文件/目錄的權限和歸屬的相關設置
一. 訪問權限
在linux中用戶對文件和目錄的訪問權限包括:讀取、寫入、可執行三種權限,每一種權限都代表用戶執行不同的操作。
1.讀取:允許查看文件內容、顯示目錄列表等操作,簡單來說,就是只能看,其他什么也干不了。字母r表示
2.寫入:允許修改文件內容,允許在目錄中新建、移動、刪除文件或子目錄。字母w表示
3.可執行:允許運行程序、切換目錄。字母x表示
4.無權限(自定義):什么權限都沒有,連查看內容都不行
二.歸屬(所有權)
所謂歸屬即為文件屬于哪個用戶或者用戶組。
屬主:擁有該文件或目錄的用戶帳號(本文件所屬的用戶)
屬組:擁有該文件或目錄的組帳號(本用戶所屬的組)
在上面我們知道每一個用戶都有它自身的讀、寫和執行權限。這樣也就形成了,linux用戶有三套權限控制。第一套權限控制訪問自己的文件權限,即所有者權限。第二套權限控制用戶組訪問其中一個用戶的文件的權限。第三套權限控制其他所有用戶訪問一個用戶的文件的權限,這三套權限賦予用戶不同類型(即所有者、用戶組和其他用戶)的讀、寫及執行權限就構成了一個有9種類型的權限組。簡單以一個例子看一下這9種類型的權限組:
[root@localhost ~]# ls -l install.log
-rw-r--r-- 1 root root 34298 04-02 00:23 install.log
分析:
1. ls –l 命令以長格式的形式查看當前目錄下所有文件,包括隱藏的,當后面跟的是文件時,即為查看文件的詳細信息(權限信息)
2. “-rw-r--r--”部分的第一個字符表示文件類型,可以是d(目錄)、b(塊設備文件)、c(字符設備文件),減號“-”(普通文件)、字母“l”(鏈接文件)等
3. “-rw-r--r--”除了第一個字符外,其余部分指定了文件的訪問權限,分別代表屬主權限、屬組權限、普通用戶權限。每類用戶權限占三個字符,分別代表是否具有“讀-寫-執行”權限,有相應的權限即用相應的字母表示
4. r、w、x、- 權限字符還可分別表示為8進制數字4、2、1、0(為什么用八進制數表示呢?大家可以想想。)
三. 相關命令
1. 設置文件/目錄的權限:chmod命令
(1)格式1:chmod [ugoa] [+-=] [rwx] 文件或目錄...
解釋:
1. u、g、o、a 分別表示屬主、屬組、其他用戶、所有用戶 ,即為你要設置的用戶對象是誰,可以同時設置,也可以單獨為每一類型設置。
2. +、-、= 分別表示增加、去除、設置權限
3. Rwx即為對應的權限字符(讀寫執行)。
(2)格式2:chmod nnn 文件或目錄...
解釋:
1.nnn代表3位八進制數,每一位分別代表屬主、屬組、其他用戶對該文件的權限和。所謂權限和即為相應用戶對該文件能否讀、寫、執行權限相加的值。
比如;屬主對某文件設置可讀(4)、不可寫(0)、可執行(1),這樣第一個n就可設置為4+1=5.
2.這種格式命令相對來說可以快速設置某一文件的權限。
(3)補充:常用命令選項
-R:遞歸修改指定目錄下所有文件、子目錄的權限
(4)例子:
重新設置aa.txt文件的權限,為屬主用戶添加執行權限,去除其他用戶的讀取權限
[root@localhost ~]# chmodu+x,o-r aa.xtx
[root@localhost ~]# ls-l aa.xtx
-rwxr----- 1 root root 29588 05-12 06:19 aa.xtx
—— 重新設置aa.xtx文件的訪問權限,恢復為“rwxr-xr-x”
[root@localhost ~]# chmod755 aa.xtx
[root@localhost ~]# ls-l aa.xtx
-rwxr-xr-x 1 root root 29588 05-12 06:19 aa.xtx
—— 使用遞歸的方式將“/usr/src/”目錄中所有子目錄、文件的權限都設置為“rw-r--r--”
[root@localhost ~]# chmod-R 644 /usr/src/
——“nnn”為需要設置的具體權限值,如“755”、“644”等
2. 設置文件/目錄的歸屬chown命令
格式:chown 屬主 文件或目錄
chown :屬組 文件或目錄
chown 屬主:屬組 文件或目錄
常用命令選項-R:遞歸修改指定目錄下所有文件、子目錄的歸屬
相對于修改權限來說,設置文件和目錄的歸屬就相對來說簡單了,下面我們來看一個例子:
設置文件afile的屬主為用戶st01
# chown st01 afile
設置文件afile的屬組為用戶組class1
# chown :class1 afile
設置文件afile的屬主為st03,并設置文件的屬組為class2
# chown st03:class2 afile