Linux 文件權限

Table of Contents

  1. 簡介
  2. 用戶與用戶組
  3. 文件屬性
  4. 文件類型
  5. 權限信息
  6. 修改文件擁有者和所屬用戶組
  7. 修改文件權限
    1. 數字類型改變文件權限
    2. 符號類型改變文件權限
  8. 權限的做用
  9. 參考連接

簡介

Linux 的學習過程當中,文件權限是一個很重要的概念,畢竟 Linux 中的各類操做都離不開權限的支持。php

這篇博客算是對 Linux 文件權限學習的一個簡單總結。linux

用戶與用戶組

Linux 的文件權限是和 用戶與用戶組 密切相關的一個概念,對於一個文件來講,用戶能夠分爲三類:vim

  • 文件的 擁有者 - user
  • 文件的擁有者所在 用戶組 的其餘成員 - group
  • 擁有者用戶組 成員之外的其餘用戶 - others

文件權限是相對於這三類用戶而言的,不一樣身份的用戶能夠具備不一樣的權限。ide

文件屬性

使用命令 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 個部分,好比上面第一條信息能夠分爲:spa

文件類型 權限信息 連結數 擁有者 用戶組 文件容量 修改日期 文件名
d rwxr-xr-x 5 root root 4096 Sep 7 19:52 dotemacs

這裏主要了解 文件類型權限信息, 對其餘部分有興趣的能夠自行 Google.code

文件類型

Linux 中文件能夠分爲 5 個類型, ls -l 輸出的每條信息中的 第一個字符 就用於表示文件類型。遞歸

各個文件類型及其字符表示爲:接口

表示字符 文件類型
d 目錄
- 文件
l 符號連接等
b 可供儲存的接口設備
c 串行端口設備,如鍵盤、鼠標等

權限信息

經過 用戶與用戶組 概念能夠了解到權限是相對於三類用戶而言的,所以 ls -l 顯示的權限信息也分爲三組。ci

每一個文件的 權限信息9 個字符組成,分爲三組,分別對應 擁有者, 用戶組, 其餘人 擁有的權限。

對於權限信息 rwxr-xr-x 來講, 擁有者 的權限爲 rwx, 用戶組其餘人 的權限爲 r-x.

每組權限分爲: 讀權限, 寫權限執行權限, 分別由字符 r, w, x 表示。若是不具備相應的權限,就使用字符 - 表示。

所以,權限信息 rwxr-xr-x 能夠理解爲: 擁有者 具備 , 執行 權限,而 用戶組其餘人 就只有 執行 的權限。

修改文件擁有者和所屬用戶組

命令 chownchgrp 能夠用於修改文件擁有者和所屬用戶組,使用方式也很簡單:

# 修改文件擁有者
$ 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 [-R] 770 文件或目錄
複製代碼

很明顯,這樣修改文件權限是很麻煩的,所以 chmod 提供了另外一種更好用的方式來修改文件權限。

符號類型改變文件權限

符號類型改變文件權限須要遵循必定的語法規則,分別須要瞭解的有 身份表示符, 操做表示符權限表示符.

身份表示符:

表示符 表明的身份
u 文件的擁有者
g 文件的擁有者所在用戶組
o 其餘人
a 全部用戶

操做表示符:

表示符 表明的操做
+ 添加權限
- 去除權限
= 設定權限

權限表示符 就是 r, wx.

從表示符的組成大概也能夠猜到怎樣修改文件權限了,好比說下面的這條指令讓擁有者具備全部權限,而爲用戶組和其餘人添加執行權限:

chmod u=rwx,go+x .vimrc
複製代碼

須要注意的是: u=rwx,go+x 之間沒有空格。

權限的做用

同一個權限對於 文件目錄 來講,含義是不同的,這裏來了解一下。

權限 文件 目錄
r 能夠讀取文件內容 能夠讀取目錄結構列表
w 能夠編輯修改文件內容 能夠改動目錄結構列表
x 能夠被系統執行 用戶能夠進入目錄 (cd)

這裏須要注意的一個權限是: 能夠改動目錄結構列表, 這意味着能夠:

  • 創建新的文件與目錄
  • 刪除已經存在的文件與目錄
  • 將已存在的文件或目錄進行改名
  • 搬移該目錄內的文件、目錄位置

因此 w 這個權限仍是慎重使用好了。

參考連接

相關文章
相關標籤/搜索