linux文件權限
VSole2021-09-18 06:40:06
用戶與用戶組
Linux的文件權限是和用戶與用戶組密切相關的一個概念,對于一個文件來說,用戶可以分為三類:
- 文件的
擁有者-user - 文件的擁有者所在
用戶組的其他成員 -group - 除
擁有者和用戶組成員以外的其他用戶 -others
文件權限是相對于這三類用戶而言的,不同身份的用戶可以具有不同的權限。
文件屬性
使用命令 ls -l 可以得到文件的詳細信息,比如:drwxr-xr-x 5 root root 4096 Sep 7 19:52 dotemacs drwxr-xr-x 6 root root 4096 Sep 3 22:34 dotfiles drwxr-xr-x 9 root root 4096 Sep 11 10:19 emacs-kit
我們可以把每一條信息分為 8 個部分,比如上面第一條信息可以分為:文件類型權限信息連結數擁有者用戶組文件容量修改日期文件名drwxr-xr-x5rootroot4096Sep 7 19:52dotemacs
這里主要了解文件類型和權限信息
文件類型
Linux中文件可以分為5個類型,ls -l輸出的每條信息中的第一個字符就用于表示文件類型。
各個文件類型及其字符表示為:
表示字符文件類型d目錄-文件l符號鏈接等b可供儲存的接口設備c串行端口設備,如鍵盤、鼠標等
權限信息
通過用戶與用戶組概念可以了解到權限是相對于三類用戶而言的,因此ls -l顯示的權限信息也分為三組。
每個文件的權限信息由9個字符組成,分為三組,分別對應擁有者,用戶組,其他人擁有的權限。
對于權限信息rwxr-xr-x來說,擁有者的權限為rwx,用戶組和其他人的權限為r-x.
每組權限分為:讀權限,寫權限和執行權限, 分別由字符r,w,x表示。如果不具有相應的權限,就使用字符-表示。
因此,權限信息rwxr-xr-x可以理解為:擁有者具有讀,寫和執行權限,而用戶組和其他人就只有讀和執行的權限。
修改文件擁有者和所屬用戶組
命令chown和chgrp可以用于修改文件擁有者和所屬用戶組,使用方式也很簡單:
$ chown [-R] 賬號名稱 文件或目錄 $ chown [-R] 賬號名稱:組名 文件或目錄 $ chgrp [-R] 用戶組名稱 文件或目錄
參數 -R 進行遞歸的持續變更,即連同次目錄下的所有文件都變更。修改文件權限
命令 chmod 用于修改文件的權限,并提供了兩種修改文件權限的方式。數字類型改變文件權限
我們可以用數字來代表各個權限,各個權限對應的數字為:
r:4 w:2 x:1
每種身份各自的三個權限分數是需要累加的,例如當權限為 rwxrwx--- 時,對應的分數為:user = rwx = 4+2+1 = 7 group = rwx = 4+2+1 = 7 others = --- = 0+0+0 = 0
得到的文件權限數字也就為 770, 修改權限時就可以使用這個數字完成:很明顯,這樣修改文件權限是很麻煩的,因此 chmod 提供了另一種更好用的方式來修改文件權限。符號類型改變文件權限
符號類型改變文件權限需要遵循一定的語法規則,分別需要了解的有身份表示符,操作表示符和權限表示符.
身份表示符:
表示符代表的身份u文件的擁有者g文件的擁有者所在用戶組o其他人a所有用戶
操作表示符:
表示符代表的操作+添加權限-去除權限=設定權限
權限表示符就是r,w和x.
從表示符的組成大概也可以猜到怎樣修改文件權限了,比如說下面的這條指令讓擁有者具有所有權限,而為用戶組和其他人添加執行權限:
需要注意的是:u=rwx,go+x 之間沒有空格。權限的作用
同一個權限對于文件和目錄來說,含義是不一樣的,這里來了解一下。
權限文件目錄r可以讀取文件內容可以讀取目錄結構列表w可以編輯修改文件內容可以改動目錄結構列表x可以被系統執行用戶可以進入目錄 (cd)
這里需要注意的一個權限是:可以改動目錄結構列表, 這意味著可以:- 建立新的文件與目錄
- 刪除已經存在的文件與目錄
- 將已存在的文件或目錄進行更名
- 搬移該目錄內的文件、目錄位置
所以 w 這個權限還是慎重使用好了。原文:https://rgb-24bit.github.io/blog/2018/linux-file-permission.html
VSole
網絡安全專家