iT邦幫忙

2025 iThome 鐵人賽

DAY 14
1
Security

從0基礎開始起飛,一起一步步踏入資安系列 第 14

[ Day 14 ] 查看檔案卻沒權限嗎 ? 教你怎麼獲得吧 ! Linux指令 - chmod

  • 分享至 

  • xImage
  •  

chmod(change mode)用來變更檔案或目錄的權限,可以用字串或數字表達,通常字串對初學者是比較直觀方便的。

理解它後能讓你在日常維運、部署、權限排錯時更快更準。

怎麼讀權限

查看權限 : ls -l

範例 :

drwxr-xr-x  5 user group  …  file/
-rw-r--r--  1 user group  …  notes.txt
-rwxr-x---  1 user group  …  Frieren.png

第一個字元 : 檔案型態

d 目錄
- 一般檔案
l 連結檔(symbolic link)
b block設備檔
c character 設備檔
p pipe 檔
s socket 檔

接著九位字元 : 三個一組分別代表User(檔案擁有者)、Group(檔案所屬群組之使用者)、Other(其他使用者)對此檔案之權限。

權限

  • 檔案:r ( read ) 可讀內容 / w ( write ) 可改內容 / x ( execute ) 可當程式執行
  • 目錄:r 可列目錄清單 / w 可在此「新增/刪除/改名」項目(通常需搭配 x) / x 可「穿越」進去

常見參數

chmod [參數] [動作] 檔案

  • R:遞迴
  • v:顯示變更
  • c:只顯示有變更的項目
  • f:安靜模式(抑制錯誤)
  • -reference=file.txt:把操做的檔案權限改成跟 file.txt 一樣

更改權限

數字法(octal)

每組 r w x 對應 4 2 1,將要更改的部分數字相加即可

權限 說明
--- 0 無權限
--x 1 只執行/穿越
-w- 2 只寫
-wx 3 寫+執行
r-- 4 只讀
r-x 5 讀+執行
rw- 6 讀+寫
rwx 7 讀+寫+執行
chmod [更改的權限] 檔案

chmod 644 file.txt    # u=rw, g=r, o=r(一般檔案預設)
chmod 755 script.sh    # u=rwx, g=rx, o=rx(可執行)
chmod 700 document/      # 只有本人可存取

符號法(symbolic)

指令 : chmod [who][操作][權限] 檔案,可用逗號串多段

  • who:
    • u ( user ) 擁有者
    • g ( group ) 檔案所屬群組之使用者
    • o ( others ) 其他使用者)
    • a ( all ) 所有使用者
  • 操作+ 加上、 - 移除、= 直接指定
  • 權限r w x X s t

基本用法 ( rwx )

chmod u+x deploy.sh         # 給擁有者執行權
chmod go-rw secrets.txt     # 移除群組與他人讀寫
chmod a=r file.txt          # 所有人僅可讀
chmod ug+w shared/          # 擁有者與群組可寫

X(大寫 X)

  • 僅對「目錄」或「原本已可執行的檔案」加上 x
  • 可搭配遞迴避免把所有檔案都變成可執行
chmod -R a+rX document/ 

st ( 特殊權限位 )

  • setuid (4) : u+s ,執行檔以檔案擁有者身分執行
  • setgid (2) : g+s ,執行檔以檔案群組身分執行;目錄上,該目錄內新檔案會繼承群組
  • sticky (1) : +t ,目錄上,只有擁有者/根使用者可刪除自己的檔案

符號法直接加,數字法的話把此數字放最前面

#數字法
chmod 2755 teamdir/       # setgid 目錄;團隊共用且繼承群組
chmod 1777 /shared/tmp    # sticky 共享暫存區(任何人可寫但只能刪自己的)

#符號法
chmod g+s teamdir/
chmod +t /shared/tmp

上一篇
[ Day 13 ] 別在看著奇怪的檔名疑惑了 ! Linux指令 - file
系列文
從0基礎開始起飛,一起一步步踏入資安14
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言