首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 綜合教學

Linux 文件權限管理:rwx、數字碼、ACL 與實戰

     編輯:Java 綜合教學

基礎權限模型

每個文件/目錄擁有三組權限:

對象符號含義
擁有者uUser
所屬組gGroup
其他人oOthers
所有aAll (u+g+o)

三種基本權限

ls -l 輸出解讀

-rw-r--r-- 1 itcast users 2254 May 20 13:47 tt.htm
││││││││││
│││││││└─ 其他人:r--
││││││└─ 所屬組:r--
│││││└─ 擁有者:rw-
│││└─ 硬鏈接數
││└─ 擁有者
└─ 所屬組
文件類型:- 普通文件、d 目錄、l 符號鏈接、b/c 區塊/字符設備

chmod 修改權限

符號模式

chmod u+x script.sh           # 擁有者加執行權
chmod g-w,o-r file.txt        # 組減寫、其他減讀
chmod a=rw file.txt           # 所有人設為讀寫
chmod -R u+rwX dir/           # 遞歸:目錄加 x,文件不加 x

數字模式(八進制)

chmod 755 script.sh   # rwxr-xr-x  (7=4+2+1, 5=4+1)
chmod 644 file.txt    # rw-r--r--
chmod 700 private/    # rwx------
chmod 4755 /usr/bin/sudo  # 設 SUID (4+755)

特殊權限位

字母數值文件含義目錄含義
r4可讀取內容可列出文件名
w2可修改內容可建立/刪除文件
x1可執行可進入目錄
位數值符號文件效果目錄效果
SUID4s (擁有者 x 位)執行時以文件擁有者權限運行無
SGID2s (組 x 位)執行時以文件所屬組權限運行新建文件繼承目錄所屬組
Sticky1t (其他 x 位)無僅擁有者/root 可刪除文件

範例

# 查看 ACL
getfacl file.txt

# 給用戶 alice 讀寫權
setfacl -m u:alice:rw file.txt

# 給組 dev 讀寫權
setfacl -m g:dev:rw file.txt

# 設定默認 ACL(目錄遞歸繼承)
setfacl -d -m u:alice:rw /proj

# 移除 ACL
setfacl -x u:alice file.txt
setfacl -b file.txt  # 清除所有 ACL

umask 預設權限遮罩

  • 文件預設 666,目錄預設 777
  • 實際權限 = 預設 - umask
  • 常見 umask 022 → 文件 644、目錄 755
  • 臨時修改:umask 077(私密模式)
  • 永久修改:寫入 /etc/profile 或 ~/.bashrc

擁有者/組變更

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved