Next: Access Control Lists
Up: Linux 檔案權限與管理
Previous: 檔案權限
Contents
- chgrp:改變檔案所屬群組。
chgrp 群組名稱 檔案或目錄
- 群組名稱必須已存在於 /etc/group,否則會產生錯誤。
- chown:改變檔案擁有者。
chown [ -R ] 帳號名稱 檔案或目錄
chown [ -R ] 帳號名稱:群組名稱 檔案或目錄
- 帳號名稱必須已存在於 /etc/passwd,否則會產生錯誤。
- 選項
[ -R ]
可以連目錄下的所有次目錄或檔案同時更改擁有者。
chown
亦可同時更改所屬群組。
- chmod:改變權限。
chmod [ -R ] xyz 檔案或目錄
chmod [ -R ] u = r 檔案或目錄
g + w 檔案或目錄
o - x 檔案或目錄
a 檔案或目錄
chmod u=rwx,go=rx 檔案或目錄
chmod a-x 檔案或目錄
xyz
為三組 rwx
屬性數值之加總。
r : 4
w : 2
x : 1
-rwxr-xr--
之屬性數值為 754
。
- 符號類型
u : user
g : group
o : other
a : all
+ : 加入
- : 除去
= : 設定
- 例題:若從光碟複製某一目錄 abc (包含次目錄之所有檔案)至硬碟,則目前使用者雖為檔案擁有者,但卻無法修改該檔案,請問如何以簡單的方式,讓使用者可以修改所有檔案?
chmod u+w -R abc
練習題
- 如何變更檔案 foo 所屬群組為 root?
Sol.
chgrp root foo
- 要變更檔案 foo 所屬群組為 csie,則群組 csie 必須存在,否則會產生錯誤,亦即 csie 必須存在於那個檔案中?
Sol.
/etc/group
- 如何變更檔案 foo 擁有者為 root?
Sol.
chown root foo
- 要變更檔案 foo 擁有者為 csie,則 csie 帳號必須存在,否則會產生錯誤,亦即 csie 必須存在於那個檔案中?
Sol.
/etc/passwd
- 如何以一個指令一次變更檔案 foo 擁有者為 root,且所屬群組為 wheel?
Sol.
chown root:wheel foo
- 如何以一個指令一次變更目錄 /root 及其下所有次目錄或檔案之擁有者為 root,且所屬群組為 wheel?
Sol.
chown root:wheel -R /root
- 如何以一個指令改變檔案 /tmp/pwfile 的擁有者為 csie 且所屬群組為 users?
Sol.
chown csie:users /tmp/pwfile
- 如何以一個指令改變目錄 /tmp/testdir 及其次目錄與檔案的擁有者為 csie1?
Sol.
chown -R csie1 /tmp/testdir
- 如何將檔案 /tmp/testfile 的權限改成 -rw-r---?
Sol.
chmod 640 /tmp/testfile 或 chmod u=rw,g=r,o= /tmp/testfile
- 如何將檔案 /tmp/testfile 的權限改成 -rwxr-x--?
Sol.
chmod 750 /tmp/testfile 或 chmod u=rwx,g=rx,o= /tmp/testfile
- 如何變更目錄 foo 及其下所有次目錄或檔案,擁有者的權限為可讀及可寫,其他權限則不變?
Sol.
chmod u=rw -R foo
- 如何變更檔案 foo 擁有者的權限為可讀及可寫,其他權限則不變?
Sol.
chmod u=rw foo
- 如何去除擁有者對檔案 foo 可執行的權限,其他權限則不變?
Sol.
chmod u-x foo
- 如何增加擁有者對檔案 foo 可寫的權限,其他權限則不變?
Sol.
chmod u+w foo
- 如何變更目錄 foo 及其下所有次目錄或檔案,所屬群組及其他使用者的權限為可讀及可執行,其他權限則不變?
Sol.
chmod go=rx -R foo
- 如何變更檔案 foo 所屬群組及其他使用者的權限為可讀及可執行,其他權限則不變?
Sol.
chmod go=rx foo
- 如何去除其他使用者對檔案 foo 可寫的權限,其他權限則不變?
Sol.
chmod o-w foo
- 如何增加所屬群組對檔案 foo 可執行的權限,其他權限則不變?
Sol.
chmod g+x foo
- 如何以屬性數值設定檔案 foo 的權限,擁有者為可讀、可寫、可執行;所屬群組為可讀、不可寫、可執行;其他使用者則為不可讀、寫及執行?
Sol.
chmod 750 foo
- 如何以屬性數值設定檔案 foo 的權限,擁有者為可讀、可寫、可執行;所屬群組為可讀、不可寫、不可執行;其他使用者則為不可讀、寫及執行?
Sol.
chmod 740 foo
- 如何以屬性數值設定檔案 foo 的權限,擁有者為可讀、可寫、不可執行;所屬群組為可讀、不可寫、不可執行;其他使用者則為可讀、不可寫、不可執行?
Sol.
chmod 644 foo
- 如何以屬性數值設定目錄 foo 及其下所有次目錄或檔案的權限,擁有者為可讀、可寫、不可執行;所屬群組為可讀、不可寫、不可執行;其他使用者則為可讀、不可寫、不可執行?
Sol.
chmod 644 -R foo
Next: Access Control Lists
Up: Linux 檔案權限與管理
Previous: 檔案權限
Contents
2015-04-13