因為 Linux 是多人多工的 OS, 所以, 檔案系統必須要有一套嚴密的保護措施, 以免, 因為有意或無意的人為破壞, 造成混亂及損失.. Linux 將檔案分成三種身份、四種權限:
三種身份是:
- u: 自己(user)
- g: 和自己同一組的人(group)
- o: 其它人 (other)
而 a 則是代表所有的人.每種身份皆有四種可能的權限:
- r : 讀取權 (read)
- w : 寫入權 (write)
- x :執行權 (execute)
- s : set user id / set group id 及 t : sticky bit (簡稱為 sst 模式)
4000 : set user id, 2000 set group id, 1000 set sticky bit
- | - - - | - - - | - - - |
- | rwx | rwx | rwx |
擁有人 | 同組人 | 其它人 |
每一組的三個位置, 由左至右為: 讀取,寫入,執行的權限, 若該位置只有一條線, 則表示不具有該權限.
另外, 我們也用數字來代表不同的權限:
- 讀取: 4
- 寫入: 2
- 執行: 1
以下是可能的組合:
--- | 0 |
--x | 1 |
-w- | 2 |
r-- | 4 |
-wx | 2+1=3 |
r-x | 4+1=5 |
rw- | 4+2=6 |
rwx | 7 |
2. 改變權限的方法.
有兩種改變檔案權限的方法:
方法如下:
chmod 權限 檔案/目錄
例:
+ 表增加該種權限
- 表去掉該種權限
= 表設定作該種權限
3. 目錄的權限.
目錄的權限, 觀念及設法, 同於檔案的權限, 但其包含的意義則大不相同.
以 "可執行的" 這個權限而言, 對檔案來說, 若該檔設為可執行的話, 其意義很容易了解, 但如果將目錄設為可執行, 那麼難道目錄真的是可以執行的嗎? :-Q
當然不是.
Linux 對於目錄的權限, 另有一套看法:
如果某一個目錄下, 尚有許多檔案和子目錄, 有無方法可以一次改變所有的檔案權限呢?
當然有.
chmod -R 權限 目錄名稱
其中 -R 表示 Recursively change permissions of directories and their contents, 意即遞迴地將其下的所有檔案、目錄全數改變.
4. 改變檔案的擁有者(owner) 或 組別 (group)
通常這只有 root 等級的使用者, 才有此項權力. (否則就天下大亂了! 不過, 某些 Uuix clone 開放有限制的作法)
方法如下:
chown [-R] owner:group 檔案/目錄
例:
chown -R 3slo:hacker /home/ols3
有兩種改變檔案權限的方法:
- 八進位數字模式
- 符號模式
方法如下:
chmod 權限 檔案/目錄
例:
- chmod 666 myfile
- chmod 777 myfile
- chmod 755 myfile
- chmod 111 myfile
- chmod u+x myfile
- chmod u-x myfile
- chmod ug+x myfile
- chmod g-x myfile
- chmod o+x myfile
- chmod o-x myfile
- chmod a+x myfile
- chmod a-x myfile
- chmod a=x myfile
- chmod u=wr myfile
- chmod go=rx myfile
+ 表增加該種權限
- 表去掉該種權限
= 表設定作該種權限
3. 目錄的權限.
目錄的權限, 觀念及設法, 同於檔案的權限, 但其包含的意義則大不相同.
以 "可執行的" 這個權限而言, 對檔案來說, 若該檔設為可執行的話, 其意義很容易了解, 但如果將目錄設為可執行, 那麼難道目錄真的是可以執行的嗎? :-Q
當然不是.
Linux 對於目錄的權限, 另有一套看法:
r | 可列出目錄中的檔案名稱, 即 ls 有作用 |
w | 在該目錄中, 可刪檔,改檔名,建新檔 |
x | 可以進入該目錄之中(重要觀念, 用處大) |
當然有.
chmod -R 權限 目錄名稱
其中 -R 表示 Recursively change permissions of directories and their contents, 意即遞迴地將其下的所有檔案、目錄全數改變.
4. 改變檔案的擁有者(owner) 或 組別 (group)
通常這只有 root 等級的使用者, 才有此項權力. (否則就天下大亂了! 不過, 某些 Uuix clone 開放有限制的作法)
方法如下:
chown [-R] owner:group 檔案/目錄
例:
chown -R 3slo:hacker /home/ols3
沒有留言:
張貼留言