一. 為什么引入用戶權限
linux 系統為 “多人多任務環境”。引入文件權限管理使得文件的保密性能更佳。
二. 引入使用者和群組的概念
在現實世界中,可以簡單地把人分成三類:你自己,你認識的,你不認識的。自己稱為 “ user ”,你認識的人按圈子分類便成為 “ group ”,你不認識的便稱為其他人 “ others ”。
另外,linux 中存在 “神”,稱為 root,root 是萬能的,可以任意分配文件權限。
引入使用者的概念后,多人多任務變得極其方便。
三. 權限的種類
權限有 rwx 三種。
- 對于文件來說,r 是可讀取文件內容,w 是可向文件寫入內容,x 是文件可被執行
- 對于目錄來說,r 是可讀取目錄下文件,w 是能對目錄下文件進行操作(新建,刪除,移動,重命名等),x 是可進入該目錄
Tips:用戶對文件沒有任何權限,但對該目錄有權限的話,可以刪除目錄下的文件。
四. 文件權限
使用 ls -al
查看文件或目錄權限,假設顯示如下
-rwxr-x--- 1 ming minghome 文件大小 修改日期 文件名
其中 -rwxr-x---
為文件權限,后面的數字為 鏈接,此處不做重點。后面跟的兩個英文單詞第一個是文件所有者,第二個是所屬群組。最后是文件大小(KB),修改日期,文件名。
對 -rwxr-x---
進行研究,將其分為四組:
- 第一個字符
-
。此處-
指文件,其他常見的有 -
d
指目錄。最后的名字為目錄名 -
l
類似 windows 下的快捷方式 -
b
外置儲存裝置 -
c
串行端口設備,如鼠標鍵盤 - 此后連續三個字符
rwx
分為一組。其代表 user 的權限,則該位置的rwx
代表文件所有者 ming 有讀寫執行該文件的權限。 - 再此后連續三個字符
r-x
分為一組。其代表文件所屬 group 的權限,-
出現在 w 的位置上說明沒有 w 的權限。則該串字符代表文件所屬群組 minghome 內所有成員有讀取內容和執行的權限。 - 最后三個字符
---
分為一組。其代表 others 的權限。-
出現在 rwx 的位置上,說明沒有 rwx 的權限。則該串字符代表其他人對此文件沒有讀取修改執行的權限。
五. 修改所有者和權限
- 修改所有者和群組: chown new_user:new_group filename
- 修改權限 chmod 763 filename
Tips:
若想對整個文件夾下所有文件進行修改,可以添加遞歸命令 -R
數字 763 的含義:定義 r 為 4, w 為 2, x 為 1,
- 數字第一位 7 代表 user 的權限,7 = 4 + 2 + 1,意思為修改 user 權限為 rwx
- 數字第二位 6 代表 group 的權限,6 = 4 + 2,意思為修改 group 權限為 rw-
- 數字第三位 3 代表 others 的權限,3 = 2 + 1,意思為修改 others 權限為 -wx
Example:
問:chmod -R 777 test
的含義?
答:將文件夾test下所有文件的權限修改為 rwx
六. 其他
剛開始折騰 VPS 的時候經常遇到 permission denied 的問題,每次都要從為知筆記找命令來修改權限。太煩啦,于是下定決心把這里搞明白。本文做《鳥哥的 linux 的私房菜基礎學習篇·第三版》第六章的筆記,耗時一個半小時完成。