許可權對於使用者帳號來說是非常重要的,因為他可以限制使用者能不能讀取/建立/刪除/修改檔案或目錄!我們就將檔案系統的管理命令和檔案許可權這兩者結合起來,說明一下什麼命令在什麼樣的許可權下才能夠運作吧!^_^ 一、讓使用者能進入某目錄成為『可工作目錄』的基本許可權為何:
- 可使用的命令:例如 cd 等變換工作目錄的命令;
- 目錄要求的權限:使用者對這個目錄至少需要具有 x 的許可權
- 額外需求:如果使用者想要在這個目錄內利用 ls 查閱檔案名稱,則使用者對此目錄還需要 r 的許可權。
二、使用者在某個目錄內讀取一個檔案的基本許可權為何?
- 可使用的命令:例如cat, more, less等等
- 目錄要求的權限:使用者對這個目錄至少需要具有 x 許可權;
- 檔案要求的權限:使用者對檔案至少需要具有 r 的許可權才行!
三、讓使用者可以修改一個檔案的基本許可權為何?
- 可使用的命令:例如 nano 或 vi 編輯器等;
- 目錄要求的權限:使用者在該檔案所在的目錄至少要有 x 許可權;
- 檔案要求的權限:使用者對該檔案至少要有 r, w 許可權
四、讓一個使用者可以建立一個檔案的基本許可權為何?
- 目錄要求的權限:使用者在該目錄要具有 w,x 的許可權,重點在 w 啦!
五、讓使用者進入某目錄並執行該目錄下的某個命令的基本許可權為何?
- 目錄要求的權限:使用者在該目錄至少要有 x 的許可權;
- 檔案要求的權限:使用者在該檔案至少需要有 x 的許可權
例題一: 讓一個使用者 testuser 能夠進行『cp /dir1/file1 /dir2』的命令時,請說明 dir1, file1, dir2 的最小要求的權限為何? 答:執行 cp 時, testuser 要『能夠讀取來源檔案,並且寫入目標檔案!』所以應參考上述第二點與第四點的說明! 因此各檔案/目錄的最小許可權應該是: dir1 :至少需要有 x 許可權; file1:至少需要有 r 許可權; dir2 :至少需要有 w, x 許可權。 例題二: 有一個檔案全名為 /home/student/www/index.html ,各相關檔案/目錄的許可權如下: drwxr-xr-x 23 root root 4096 Sep 22 12:09 / drwxr-xr-x 6 root root 4096 Sep 29 02:21 /home drwx------ 6 student student 4096 Sep 29 02:23 /home/student drwxr-xr-x 6 student student 4096 Sep 29 02:24 /home/student/www -rwxr--r-- 6 student student 369 Sep 29 02:27 /home/student/www/index.html 請問 testuser 這個帳號(不屬於student群組)能否讀取 index.html 這個檔案呢? 答: 雖然 www 與 index.html 是具有讓 testuser 讀取的許可權,但是因為目錄結構是由根目錄一層一層讀取的,因此 testuser 可進入 /home 但是即不可進入 /home/student/ ,既然連進入 /home/student 都不許了,當然就讀不到 index.html 了!所以答案是『testuser不會讀取到 index.html 的內容』喔! 那要如何修改許可權呢?其實只要將 /home/student 的許可權修改為最小 711 ,或者直接給予 755 就可以囉! 這可是很重要的概念喔!
參考資料:《鳥哥的Linux私房菜 基礎學習篇 第三版》