博客 / 詳情

返回

Linux權限概念

用户分類

  • 超級用户:root (系統默認存在的)(擁有所有權限)
  • 普通用户:自己創建 (權限受限)
  • 用户切換:su 用户名

文件權限

  • ls -l 顯示的詳細信息中:
  • drwxr-xr-x(對應編碼值755)
  • 共10個字符,第一個字符表示文件類型,後面9個字符三個為一組表示文件權限。

文件類型

  • (-) :表示普通文件。指文本文件和二進制文件。
  • (d):表示文件夾或目錄,directory的縮寫。
  • (c):表示字符文件(顯示器、鍵盤等)
  • (b):表示塊設備(磁盤等)
  • (l):表示符號連接文件。
  • (s):表示socket文件。
  • (p):表示管道文件 pipe。
  • 注意:文件類型與文件的後綴無關

文件權限(rwx)

  • rwx解析:r代表可讀(對應編碼值為4),w代表可寫(對應編碼值為2),x代表可執行(對應編碼值為1),-代表無權限(對應編碼值為0)。

    • 例如:drwxr-xr-x(對應編碼值755)
  • 前三個字符:表示此文件的屬主對文件的權限。
  • 中間三個字符:表示此文件屬主所在的組對文件的權限。
  • 最後三個字符:表示其他用户對文件的權限。

目錄的權限(rwx)

  • r :可讀 (顯示目錄內容 ls)
  • w :可寫 (在目錄中創建文件 touch)
  • x :可執行 (進入目錄 cd)

修改文件權限(chmod)

  • 注意:root用户不受任何權限約束。
  • 修改方法1:chmod 744 文件名 (744是權限對應的編碼值)
  • 修改方法2:在原來的基礎上進行修改,即增加或減少某種權限。

    • 例如:chmod g+x 文件名 屬主所在的組增加x權限(+為增加,- 為減少權限)
    • 三個組用户中的編碼依次為:屬主u 屬主所在的組g 其他用户o
  • chown(修改文件的屬主)

    • 例如:sudo chown 屬主 文件名
  • chgrp(修改文件的組)
  • 注意:不能修改文件的其他用户 o (因為不知道文件的其他用户具體是誰)

默認權限與文件權限掩碼(umask)

  • 終端中 直接umask 會顯示當前umask的值(默認為0002)
  • 修改umask的方法:

    • umask 0044 則會將 umask 的值改為0044。
  • 普通文件默認權限計算方法:

    • 666 &(~0002)
    • 即umask中出現的權限位在普通文件中
  • 文件夾(目錄)的默認權限是:

    • 777 & (~umask)

粘滯位

  • 在Linux中,普通用户可以刪除root用户的文件,增加粘滯位後,就無法刪除了。
  • 粘滯位使用方法:chmod +t 目錄名 (將該目錄設置為粘滯位)
  • 被設為粘滯位的目錄下的所有文件只能由root用户、該文件或目錄的所有者才可以刪除。
user avatar mengzyou 頭像
1 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.