iT邦幫忙

第 11 屆 iT 邦幫忙鐵人賽

DAY 4
0

前言

有了上次的檔案與目錄觀念,這次將會介紹三個指令,以穿插實例的方式進行。

檔案權限指令

chgrp 改變群組

root 輸入 ls -l 看到底下有一個名叫 aaa 的資料夾,使用者及群組都是 user

drwxr-xr-x 2 user user 4.0K  八  07 20:07 aaa

他一時手癢一時爽,把上面群組欄位的 user 改成 root。

root$> sudo chgrp root

這個時候目錄資訊就會變成

drwxr-xr-x 2 user root 4.0K  八  07 20:08 aaa

如果 user 現在把 aaa 搬移到其他地方會有權限問題嗎?

答案是不會。

因爲使用者目前的權限是 r/w/x ,而更改目錄結構的權限是 w,因此更改群組不會影響目前的使用者 user。

chown 改變檔案擁有者

那如果 root 的手真的控制不住繼續改成這樣呢?

root$> chown root:user aaa

結果如下:

drwxr-xr-x 2 root user 4.0K  八  07 20:09 aaa

因爲上面指令中 root:user 的相對位置代表使用者:群組,因此 root 把檔案擁有者改成 root,而 user 所屬的目錄權限只有 r/x,所以 user 可以 cd 進去 aaa 可是無法對 aaa 做任何操作,例如新增檔案、搬移 aaa、刪除 aaa。

當 user 想要建立 lll 的檔案時

mkdir: 不能建立目錄 ‘lll’: Permission denied

chmod 更改權限

user 在底下建立了一個資料夾叫做 nice-videos,這是他現在的權限

drwx-wx--- 2 user roommate 4.0K  八  07 20:09 nice-videos

user 的室友 aming 和他同個群組的,剛好逛到這個資料夾,於是他進入 nice-videos,然後隨手輸入cd a

"阿,原來是按照英文字母分類阿"

aming 進去了。

然後他看到了一個檔案叫做 keroro軍操.mp4還有其他mp4結尾的檔案,看到這種檔名 aming 覺得一定不單純決定先幫使用 rm 刪除全部檔案。

sure you want to delete all the files in /home/cjchengtw/nice-videos [yn]? y

user 後來發現檔案不見了,很氣。

得知是 aming 幹的之後爲了避免之後同樣情況發生,決定關閉他進入及修改目錄的權限,但他想要大家看得到卻進不去,因此根據 chmod 的語法

            	       u(使用者)                 +(加入)        r
chmod         g (群組)                     -(除去)        w    檔案或目錄
                      o (其他使用者)        =(設定)        x
                      a	

他下

chmod  g-wx+r,o+r  ./

意思就是在目前資料夾對所有檔案關閉群組wx的權限、增加 r 的權限,並新增其他使用者 r 權限。

如果有算權限值的話也能這樣下:

 chmod  711 ./ 

最小權限

剛剛的檔案結構是 /nice-videos/a/keroro軍操.mp4,我們簡化成 /dir1/dir2/file1 來討論 aming 要達成他理想中操作的最小權限。

操作動作 dir1 dir1/dir2/ dir/dir2/file1 重點
讀取 file1 內容 x x r 要能夠進入 /dir1 才能讀到裡面的文件資料
修改 file1 內容 x x w 能夠進入 /dir1 且修改 file1 才行
執行 file1 內容 x x x 能夠進入 /dir1 且 file1 能運作才行
刪除 file1 檔案 wx w - 能夠進入 /dir1 具有目錄修改的權限即可

所以我們知道就算 aming 沒有閱讀目錄結構的權限 r,只要他擁有進入目錄的權限 x,就像摸黑在抽屜中找東西一樣,還是有機會通靈找到的。

ps 目錄的權限

  • x: 可以進入目錄摸黑找檔案,只要你知道這層目錄中 file1 的名字除了刪除檔案,都可以按照 file1 設定的權限進行操作。
  • xr: 可以進入目錄並瀏覽目錄結構,有的特徵是按 Tab 能夠自動補齊
  • xw: 進入目錄修改目錄結構,因此可以刪除檔案。

上一篇
[Day 3] Linux 檔案、目錄屬性權限(1)
下一篇
[Day 5] Linux 檔案、目錄屬性權限(3)
系列文
30 天不間斷-資工隨筆大雜燴30

尚未有邦友留言

立即登入留言