本文主要介紹linux檔案許可權,包括檔案許可權所有者角色、群組、檔案許可權概念以及目錄配置。
linux檔案許可權所有者的角色有三種:檔案所有者(ower)、檔案所屬群組(group)、其他人(other)。linux之所以會有這麼多種角色,和它多工、多人協作的使命息息相關的,不同的使用者角色,會有對應不同的檔案許可權。
檔案所有者和其他人如字面意思一樣,重點解釋下檔案所屬群組。檔案所屬群組其實是指檔案所有者所在的群組(即使用者組),使用者組最重要的作用是進行團隊協作開發,同乙個團隊內的不同開發成員之間可以共享檔案資源,不同的團隊之間設定不同的檔案許可權,這樣既能保證資訊保安,又能在有限的範圍內高效便捷的共享資訊資源。需要強調的是,這其中可能存在乙個人同時在幾個群組的情況。
以centos7中的根目錄說明檔案屬性,使用命令ls檢視根目錄下的檔案屬性
取其中某一行記錄分析[hack@localhost /]$ ls -al # -a表示顯示隱藏檔案,-l表示長格式顯示,包括檔案的屬性、修改時間等資訊
總用量 40
dr-xr-xr-x. 17 root root 4096 10月 25 09:54 .
dr-xr-xr-x. 17 root root 4096 10月 25 09:54 ..
lrwxrwxrwx. 1 root root 7 10月 25 09:47 bin -> usr/bin
dr-xr-xr-x. 4 root root 4096 10月 25 22:17 boot
drwxr-xr-x. 20 root root 3280 10月 27 20:16 dev
drwxr-xr-x. 139 root root 8192 10月 27 20:35 etc
drwxr-xr-x. 3 root root 17 10月 25 09:54 home
lrwxrwxrwx. 1 root root 7 10月 25 09:47 lib -> usr/lib
lrwxrwxrwx. 1 root root 9 10月 25 09:47 lib64 -> usr/lib64
drwxr-xr-x. 2 root root 6 8月 12 2015 media
drwxr-xr-x. 2 root root 6 8月 12 2015 mnt
drwxr-xr-x. 3 root root 15 10月 25 09:52 opt
dr-xr-xr-x. 454 root root 0 10月 27 20:14 proc
dr-xr-x---. 4 root root 4096 10月 27 20:35 root
drwxr-xr-x. 38 root root 1120 10月 27 20:35 run
lrwxrwxrwx. 1 root root 8 10月 25 09:47 sbin -> usr/sbin
drwxr-xr-x. 2 root root 6 8月 12 2015 srv
dr-xr-xr-x. 13 root root 0 10月 27 20:14 sys
drwxrwxrwt. 24 root root 4096 10月 27 21:21 tmp
drwxr-xr-x. 13 root root 4096 10月 25 09:47 usr
drwxr-xr-x. 21 root root 4096 10月 27 20:14 var
將檔案許可權型別拆解如下圖
檔案許可權型別共有13個符號表示,第乙個表示檔案型別,linux中的檔案型別主要有如下
1)d:表示目錄
2)-:表示檔案
3)l:表示鏈結
4)b:表示可供儲存的介面裝置,比如行動硬碟等
5)c:串列埠檔案,比如鍵盤、滑鼠
其中檔案型別b和c需要解釋一下,這與通常windows中的習慣不符,在windows中,硬體裝置是可以在裝置管理器中直接檢視。而在linux中,一切皆檔案,無論軟硬。
檔案所有者、檔案群組、其他人許可權可以統一說明
1)r:表示讀許可權
2)w:表示寫許可權
3)x:表示可執行許可權
4)-:表示沒有許可權
這裡需要強調下目錄的許可權,如果具有讀(r)的許可權,說明你可以通過ls命令列舉出該目錄下的檔名資料;如果有可執行許可權(x),說明你可以進入該目錄使得該目錄成為工作目錄;最後,寫(w)的許可權就比較神通廣大,通過此許可權,我們可以新建檔案或者目錄、刪除已有檔案或者目錄、對檔案或者目錄重新命名、轉移檔案或者目錄等。
1、修改檔案的許可權
linux的基本許可權有9個,分別為ower、group和other的read、write和execute許可權。修改這9種許可權主要有兩種方式,按照數字和符號型別修改,這裡主要介紹按照數字修改許可權。
read、write和execute對應的權值為4、2和1,可通過chmod命令修改,具體格式如下
舉例說明,在/home/hack/study資料夾下的c_program資料夾的許可權為rwxrwxr-x,chmod
[-r] 權值 檔案或者目錄 # -r表示遞迴修改目錄下的所有子檔案
將c_program資料夾的other檔案許可權修改為rwxrwx—,即去掉other的r、w、x許可權,other的檔案權值為 0+0+0=0,則對應此檔案目錄的權值為770,即有[hack@localhost study]$ ls -al /home/hack/study
總用量 8
drwxrwxr-x. 3 hack hack 40 10月 28 20:38 .
drwx------. 15 hack hack 4096 10月 28 20:38 ..
drwxrwxr-x. 2 hack hack 6 10月 27 21:21 c_program
2、修改檔案的所有者[hack@localhost study]$ chmod 770 c_program/
[hack@localhost study]$ ls -al .
總用量 8
drwxrwxr-x. 3 hack hack 40 10月 28 20:38 .
drwx------. 15 hack hack 4096 10月 28 20:38 ..
drwxrwx---. 2 hack hack 6 10月 27 21:21 c_program
修改檔案所有者通過chown(change ower)命令,具體格式如下
舉例說明,先登入root使用者,在/home/hack/study目錄下新建檔案hello.c,檢視其檔案所有者發現為root,現將其修改為hack,則有如下chown
[-r] 使用者名稱 檔案或目錄 # -r表示遞迴修改目錄下的所有子檔案
3、修改檔案所在群組[root@localhost study]
# ls -al .
總用量 8
drwxrwxr-x. 3 hack hack 36 10月 28 21:00 .
drwx------. 15 hack hack 4096 10月 28 20:59 ..
-rw-r--r--. 1 root root 6 10月 28 21:00 hello.c
root@localhost study]
# chown hack hello.c
[root@localhost study]
# ls -al .
總用量 8
drwxrwxr-x. 3 hack hack 36 10月 28 21:00 .
drwx------. 15 hack hack 4096 10月 28 20:59 ..
-rw-r--r--. 1 hack root 6 10月 28 21:00 hello.c
修改檔案所在群組通過chgrp(change group)命令,具體格式如下
舉例說明,將上述hello.c所屬使用者組修改為hack,則有如下chgrp
[-r] 使用者組名稱 檔案或者目錄 # -r表示遞迴修改目錄下的所有子檔案
[root@localhost study]
# chgrp hack hello.c
[root@localhost study]
# ls -al .
總用量 8
drwxrwxr-x. 3 hack hack 36 10月 28 21:00 .
drwx------. 15 hack hack 4096 10月 28 20:59 ..
drwxrwx---. 2 hack hack 6 10月 27 21:21 c_program
-rw-r--r--. 1 hack hack 6 10月 28 21:00 hello.c
Linux檔案屬性與檔案許可權
我們在 linux 中,存在檔案的目錄中執行 ls al 命令,就會獲得該目錄下檔案及其檔案屬性的資訊。例如 ls al rw r r 1 root root 120 jan 6 2019 bashrc 省略其他檔案 這些字串代表了檔案及檔案屬性。那麼,這些檔案屬性具體的含義是什麼?如何修改檔案屬性...
Linux改變檔案屬性與許可權
在學習檔案屬性與許可權前,先用ls al 命令顯示檔案的詳細資訊 如上圖,第一欄代表這個檔案的型別與許可權,一共有十個字元。當為 d 則是目錄。當為 則是檔案 若是 l 則是鏈結檔案 若是 b 則表示為裝置檔案裡面的可供儲存的介面裝置 若是 c 則表示為裝置檔案裡面的串列埠裝置,例如鍵盤,滑鼠 一次...
Linux之檔案屬性與許可權
chown chown r 帳號名字 檔案目錄 修改檔案擁有者 chmod 改變使用者許可權 chgrp r group1 usr share 改變share這個目錄的所屬組 r就是指share下的所有子檔案都改變所屬組grouadd 使用者組的新增 groupdel 刪除使用者組 goupmod ...