Linux學習篇第六期

  • 2020 年 4 月 10 日
  • 筆記

上一期介紹了用戶和許可權的基本概念,這一次我們首先來講一下賦權。

我們可以看到,一個新建的用戶(上一期新建的sand),他的家目錄的許可權默認是rwx——,即用戶自己對自己的家目錄有完全的控制權,而其他用戶沒有任何許可權,由於用戶組沒有配置,所以目前也是沒有任何許可權。其實對於改變許可權的方式有很多,包括許可權的授予與消除,但是小編還是傾向於使用數字直接進行操作,這裡來說明一下,r用2的2次方表示,w用2的一次方表示,x用2的零次方表示,從左到右依次是4,2,1。首先小編先來示範一下命令的使用,然後再來解釋:

使用時在命令後輸入三個數字,分別代表所屬用戶,用戶組,其他用戶的許可權,每個數字的值就是rwx的值的加和,例如,上例中,706代表所屬用戶為7=4+2+1,即擁有讀寫和執行許可權,0=0+0+0,即同組用戶沒有任何許可權,6=4+2+0,即其他用戶擁有讀寫許可權,沒有執行許可權。大家可以注意到,剛剛我們更改過的sand文件夾的名稱出現了背景,這就代表這個文件(夾)可以被所有人讀寫。另外還有很多更改許可權的方式,下面再介紹一種,三組許可權還可以用三個字母來代替,u(user),g(group),o(others),當執行時,我們用加減號來代表許可權的賦予與消除,如下例:

當使用chmod g+r,o-w sand/命令後,同組用戶添加了讀的許可權,其他用戶沒有了寫的許可權,可以注意到,sand文件夾的背景色已經不見了。下面我們恢復sand文件夾的許可權,而後進入目錄新建一個文件:

可以看到,我們在root用戶下新建的文件的屬主是root,那麼我們如何更改文件的屬主和數組呢?需要使用chown命令:

這樣更改之後,原有的許可權不動,而因為屬主和屬組發生了變化,相應用戶對該文件(夾)的許可權也就發生了變化,當然,在更改一個文件(夾)的許可權時也要擁有足夠的許可權更改才行,通過上面的命令可以看到,chown命令可以同時修改文件(夾)的屬主和屬組,屬組是可選項。說了這麼半天屬組,我們來實際操作一下屬組,首先添加一個用戶組:

groupadd sandTower

這樣我們就新建好了一個名為sandTower的用戶組。接下來就是把用戶分配到用戶組中:

現在sand這個用戶已經被分到了sandTower這個組中,如果後續還有其他用戶添加到該分組,那麼該如何限制同組用戶的訪問許可權,我想大家應該已經清楚了,上一期已經說過了,對於這一塊可能工作中用到的不是很多,重點在於許可權部分,一定要熟練掌握,最後再說一個情景,有的時候我們會以root用戶建立ftp(xftp)連接上傳文件,這樣所有的文件的屬主和屬組都是root用戶,這個時候我們想更改一個文件夾內的所有文件的許可權我們可以使用chmod -R命令,後面的參數和前面介紹的相同,講了這麼多,大家可以自己嘗試一下,新建用戶,賦予或消除許可權,然後切換成其他用戶,看看是否起到了作用