我們發現,初學者並不是不能理解許可權命令,而是不能理解為什麼需要設定不同的許可權。所有的人都直接使用管理員身份,不可以嗎?
這是由於絕大多數使用者使用的是個人計算機,而使用個人計算機的使用者一般都是被信任的使用者(如家人、朋友等)。在這種情況下,大家都可以使用管理員身份直接登入。又因為管理員擁有最大許可權,所以給我們帶來了錯覺,以為在計算機中不需要分配許可權等級,不需要使用不同的賬戶。
但是在伺服器上就不是這種情況了,在伺服器上執行的資料越重要(如遊戲資料),價值越高(如電子商城資料、銀行資料),那麼對許可權的設定就要越詳細,使用者的分級也要越明確。所以,在伺服器上,絕對不是所有的使用者都使用 root 身份登入,而要根據不同的工作需要和職位需要,合理分配使用者等級和許可權等級。
檔案的所有者、所屬組和其他人
前面講 ls 命令的 -l 選項時,簡單解釋過所有者和所屬組,例如:
[[email protected] ~]# ls -linstall.log
-rw-r--r--.1 root root 24772 1月 14 18:17 install.log
命令的第三列 root 使用者就是檔案的所有者,第四列 root 組就是檔案的所屬組。而且我們也介紹過,檔案的所有者就是這個檔案的建立者,而系統中絕大多數系統檔案都是由 root 建立的,所以大多數系統檔案的所有者都是 root。
接下來我們解釋一下所屬組,首先講解一下使用者組的概念。使用者組就是一組使用者的集合,類似於大學裡的各種社團。那為什麼要把使用者放入一個使用者組中呢?
當然是為了方便管理。大家想想,如果我有 100 位使用者,而這 100 位使用者對同一個檔案的許可權是一致的,那我是一位使用者一位使用者地分配許可權方便,還是把 100 位使用者加入一個使用者組中,然後給這個使用者組分配許可權方便呢?不言而喻,一定是給一個使用者組分配許可權更加方便。
綜上所述,給一個檔案區分所有者、所屬組和其他人,就是為了分配許可權方便。就像筆者買了一台電腦,那我當然是這台電腦的所有者,可以把我的讀者加入一個使用者組,其他不認識的路人當然就是其他人了。分配完了使用者身份,就可以分配許可權了,所有者當然對這台電腦擁有所有的許可權,而位於所屬組中的這些學生可以借用我的電腦,而其他人則完全不能碰我的電腦。