Linux許可權對指令執行的影響

2020-07-16 10:05:11
通過本章的學習我們知道,許可權對於使用者賬號是非常重要的,因為它可以限制使用者是否能讀取、建立、刪除、修改檔案或目錄。

本節將結合前面章節學到的有關檔案系統管理的指令,通過幾個範例向大家說明,許可權對 Linux 指令執行的重要性。

【範例 1】
讓當前使用者進入某指定目錄,可以使用什麼指令?需要具備何種許可權?

使用者可以使用 cd 指令,同時要想使此命令成功執行,需要使用者對要進入的目錄具有 x 許可權。另外,如果使用者還想要在此目錄中使用 ls 命令,還需要對此目錄具有 r 許可權。


【範例 2】
如果想在某目錄內讀取一個檔案,可以使用什麼指令?需要具備何種許可權?

使用者可以使用 cat、more、less 等指令,並且該使用者對此目錄至少需要具有 x 許可權,對讀取的檔案需要具有 r 許可權。


【範例 3】
如果想修改一個檔案,可以使用什麼指令?需要具備何種許可權?

可以使用 vim 編輯器,對於許可權方面,使用者至少需要對該檔案所在目錄具有 x 許可權,同時對該檔案具有 r、w 許可權。


【範例 4】
要想讓使用者 Linuxer 能夠執行 cp /dir1/file1 /dir2 的指令,則 Linuxer 需要對 dir1、file1、dir2 分別具備哪些許可權。

執行 cp 命令時,Linuxer 要能夠讀取指定檔案,並且能夠寫入目標檔案,因此:

  • dir1:至少需要有 x 許可權;
  • file1:至少需要有 r 許可權;
  • dir2:至少需要有 w,x 許可權。

【範例 5】
有一個檔案,其絕對路徑為 /home/student/www/index.html,其中各個相關檔案或者目錄的許可權分別如下所示:

drwxr-xr-x 23    root     root 4096 Sep 22 12:09 /
drwxr-xr-x  6    root     root 4096 Sep 22 02:09 /home
drwx------  6 student student 4096 Sep 22 02:10 /home/student
drwxr-xr-x  6 student student 4096 Sep 22 02:10 /home/student/www
drwxr--r--  6 student student  369 Sep 22 02:11 /home/student/www/index.html

那麼,當使用 test 這個賬號(不屬於 student 群組)能夠成功讀取 index.html 這個檔案呢?

因為目錄結構是由根目錄一層一層讀取的,通過分析以上各個目錄和檔案的許可權得知,對於 vbird 賬號來說,它可以進入 /home,但卻不可以進入 /home/student,因此可以判定,vbird 無法成功讀取 index.html 檔案中的內容。