Linux 文件權限


文件權限

Linux 中任何一個文件都具有 「用戶、用戶組與其他用戶」三種權限,一個用戶可屬於多個用戶組。所有用戶的相關信息都記錄在 /etc/passwd 文件中,密碼記錄在 /etc/shaodw 文件,用戶組記錄在 /etc/group 文件。

root 用戶權限最高,不算其他用戶

文件屬性

ls -al
-rw-r--r--@  1 zhoust  staff   58503 Dec  8 07:50 antigen.zsh
drwxr-xr-x   2 zhoust  staff      64 Apr 10 18:19 database
drwxr-xr-x   6 zhoust  staff     192 Apr  9 22:12 h5
drwxr-xr-x   4 zhoust  staff     128 Nov 20 16:15 logs
drwxr-xr-x   3 zhoust  staff      96 Mar 18 17:42 node_modules
-rw-r--r--   1 zhoust  staff     320 Mar 18 17:08 package-lock.json
drwxr-xr-x   7 zhoust  staff     224 Dec  8 07:20 software
drwxr-xr-x   9 zhoust  staff     288 Nov 20 16:32 store
drwxr-xr-x   3 zhoust  staff      96 Apr  4 15:43 vkds
drwxr-xr-x   8 zhoust  staff     256 Oct 23 15:06 照片
drwxr-xr-x  12 zhoust  staff     384 Apr 19 08:36 學習視頻

分為七個部分:

  1. 文件類型與權限
    文件類型:普通文件(-)、目錄文件(d)、鏈接文件(l
    權限:當前用戶、同用戶組的權限、其他用戶權限,rwx 用數字表示就是 421
  2. 有多少文件名鏈接到此節點(inode)
  3. 擁有該文件的用戶名
  4. 該文件所屬用戶組
  5. 文件大小:默認為 Byte
  6. 創建時間
  7. 文件名

rwx 對於文件和目錄的意義

對文件來說,w 意味着可以修改該文件的內容(但不包含刪除文件),x 意味着該文件有被執行的權限(真正是否能執行與文件內容有關)。

目錄主要負責記錄文件名列表

  • r:意味着可以讀取該目錄結構
  • w可對該目錄下的文件(或目錄)進行刪除、添加、修改、移動、重命名等,權限極大
  • x:能進入該目錄

如果用戶只對某目錄擁有 r 權限,只能查看該目錄下的文件名稱和類型,連文件大小以及各種屬性都看不到。如 zst 用戶只擁有 /home/zhoust 目錄的讀權限,只能看到該目錄下的文件名稱

[zhoust@MyPersonalCentOS ~]$ ls -al
total 36
drwxr-xr--  5 zhoust zhoust 4096 Apr 21 14:55 .

[zst@MyPersonalCentOS ~]$ ls -l /home/zhoust/
ls: cannot access /home/zhoust/learn: Permission denied
total 0
d????????? ? ? ? ?            ? learn

能完成任務的最小權限

如果用戶對某目錄沒有 x 權限,無法執行該目錄下的任何命令,也不能查詢該目錄下的文件內容。

注意第一項,只要是到了某個文件夾下,就有權限讀取該文件夾中的數據。

操作動作 /dir1 /dir1/file1 /dir2 解釋
讀取 file1 內容 x r - 要能夠進入 /dir1 才能讀到里面的文件數據!
修改 file1 內容 x rw - 能進入且能修改
刪除 file1 文件 wx - - 能夠進入 /dir1 具有目錄修改的權限即可!
將 file1 復制到 /dir2 x r wx 要能夠讀 file1 且能夠修改 /dir2 內的數據

修改文件屬性與權限

三個命令,chownchgrpchmod 分別表示修改文件所屬用戶、修改文件所屬用戶組、修改文件權限

chmod 語法分為兩種,一種是用數字修改,另一種是用符號修改文件權限。

使用數字修改,分別是 421 將對應位置上的數字相加,例如:

# 在 /home/zhoust 目錄下,其他用戶都不可進入
[zhoust@MyPersonalCentOS ~]$ ls -al
drwxr-x---  5 zhoust zhoust 4096 Apr 25 20:00 .

[zst@MyPersonalCentOS ~]$ cd /home/zhoust/
bash: cd: /home/zhoust/: Permission denied

# 使用 chmod 修改為其他用戶可進入,zst 就能進入這個目錄了
[zhoust@MyPersonalCentOS ~]$ chmod 705 .
[zhoust@MyPersonalCentOS ~]$ ls -al
drwx---r-x  5 zhoust zhoust 4096 Apr 21 14:55 .

使用符號類型修改文件權限,格式為 [范圍][修改][某權限]u 所屬用戶,g 用戶組,o 其他用戶,a 全部用戶,用於修改的符號有 +-=,權限還是那三個 rwx。現在再把 /home/zhoust 目錄的其他用戶權限關閉:

[zhoust@MyPersonalCentOS ~]$ chmod o-rx .
[zhoust@MyPersonalCentOS ~]$ ls -al
total 36
drwx------  5 zhoust zhoust 4096 Apr 21 14:55 .


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM