- 權限對文件的重要性
- r (read):可讀取此一文件的實際內容,如讀取文本文件的文字內容等;
由於沒有w的權限,所以進來后就有readonly的提示信息。
- w (write):可以編輯、新增或者是修改該文件的內容(但不含刪除該文件);
- x (execute):該文件具有可以被系統執行的權限。
- 權限對目錄的重要性
- r (read contents in directory):
表示具有讀取目錄結構列表的權限,所以當你具有讀取(r)一個目錄的權限時,表示你可以查詢該目錄下的文件名數據。 所以你就可以利用 ls 這個指令將該目錄的內容列表顯示出來! 必須這個目錄有x的權限,才可以進入這個目錄。
例題: 有個目錄的權限如下所示: drwxr--r-- 3 root root 1024 May 25 08:35 test 系統有個賬號名稱為zyx2,這個賬號並沒有支持root群組,請問zyx2對這個目錄有何權限?是否可切換到此目錄中? 答: zyx2對此目錄僅具有r的權限,因此vbird可以查詢此目錄下的文件名列表。因為zyx2不具有x的權限, 因此zyx2並不能切換到此目錄內!(相當重要的概念!)
能不能進入某一個目錄,只與該目錄的x權限有關啦!此外, 工作目錄對於指令的執行是非常重要的,如果你在某目錄下不具有x的權限, 那么你就無法切換到該目錄下,也就無法執行該目錄下的任何指令,即使你具有該目錄的r的權限。
但是注意下面這個例子:
例題: 假設有個賬號名稱為dmtsai,他的家目錄在/home/dmtsai/,dmtsai對此目錄具有[rwx]的權限。 若在此目錄下有個名為the_root.data的文件,該文件的權限如下: -rwx------ 1 root root 4365 Sep 19 23:20 the_root.data 請問dmtsai對此文件的權限為何?可否刪除此文件? 答: 如上所示,由於dmtsai對此文件來說是『others』的身份,因此這個文件他無法讀、無法編輯也無法執行, 也就是說,他無法變動這個文件的內容就是了。 但是由於這個文件在他的家目錄下, 他在此目錄下具有rwx的完整權限,因此對於the_root.data這個『檔名』來說,他是能夠『刪除』的! 結論就是,dmtsai這個用戶能夠刪除the_root.data這個文件!
a.txt在zyx1的家目錄下面,但是zyx1這個用戶對a.txt文件沒有wx的權限。
- w (modify contents of directory):
這個可寫入的權限對目錄來說,是很了不起的! 因為他表示你具有異動該目錄結構列表的權限,也就是底下這些權限:
- 建立新的文件與目錄;
- 刪除已經存在的文件與目錄(不論該文件的權限為何!)
- 將已存在的文件或目錄進行更名;
- 搬移該目錄內的文件、目錄位置。
總之,目錄的w權限就與該目錄底下的文件名異動有關就對了啦! - x (access directory):
咦!目錄的執行權限有啥用途啊?目錄只是記錄文件名而已,總不能拿來執行吧?沒錯!目錄不可以被執行,目錄的x代表的是用戶能否進入該目錄成為工作目錄的用途! 所謂的工作目錄(work directory)就是你目前所在的目錄啦!舉例來說,當你登入Linux時, 你所在的家目錄就是你當下的工作目錄。而變換目錄的指令是『cd』(change directory)啰!
總結:
一、讓使用者能進入某目錄成為『可工作目錄』的基本權限為何:
- 可使用的命令:例如 cd 等變換工作目錄的命令;
- 目錄所需權限:使用者對這個目錄至少需要具有 x 的權限
- 額外需求:如果使用者想要在這個目錄內利用 ls 查閱檔名,則使用者對此目錄還需要 r 的權限。
二、使用者在某個目錄內讀取一個文件的基本權限為何?
- 可使用的命令:例如本章談到的 cat, more, less等等
- 目錄所需權限:使用者對這個目錄至少需要具有 x 權限;
- 文件所需權限:使用者對文件至少需要具有 r 的權限才行!
三、讓使用者可以修改一個文件的基本權限為何?
四、讓一個使用者可以創建一個文件的基本權限為何?
- 目錄所需權限:使用者在該目錄要具有 w,x 的權限,重點在 w 啦!
五、讓使用者進入某目錄並運行該目錄下的某個命令之基本權限為何?
- 目錄所需權限:使用者在該目錄至少要有 x 的權限;
- 文件所需權限:使用者在該文件至少需要有 x 的權限