Linux教學:系統使用者管理,chmod命令如何修改權限

Linux權限管理是系統基本必要的操作,本文以其它使用者帳號為例,介紹如何以「ls -l」命令顯示文件權限設定,進而以「chmod」命令修改權限並且實際測試。

一、Linux vi編輯器

為了方便測試權限,先利用vi編輯器新建一個文件:「vi test」,文件的內容只有一行文字:「有權限才能檢視修改」。

關於Linux系統如何以cat等命令檢視文件,可以參考贊贊小屋相關文章。

一張含有 文字 的圖片

自動產生的描述

二、其他使用者權限

新建文件之後,首先可以用「ls -l」命令瞭解該文件的權限設置,其中後面第7~9位是截圖所示「r––」,代表是其他使用者只有讀取權限,「r」代表讀取(Reading)的權限。另外再以「id」命令查看使用者「zanzan」,它並沒有屬於任何一個群組,因此對於此文件而言,「zanzan」就是屬於其他使用者的權限範圍。

利用「sudo」命令臨時使用「zanzan」帳號查看文件,是可以看到文件內容,也就是一行文字:「有權限才能檢視修改」。接著想測試是否有編輯寫入的權限,因此同樣臨時使用「zanzan」帳號編輯這份文件。

關於sudo命令用法,可以參考贊贊小屋相關文章。

Linux教學:系統使用者管理,chmod命令如何修改權限 2

三、readonly唯讀

延續上個步驟雖然帳號「zanzan」有讀取權限,因此也可以進入Vi編輯器檢視文件內容,可是注意到最下方有一個「readonly」,代表是以唯讀模式開啟這份文件,沒有辦法進行任何的修改跟編輯。

關於vi編輯器三種模式用法,可以參考贊贊小屋相關文章。

一張含有 文字 的圖片

自動產生的描述

四、chmod修改權限

想要讓其他使用者也可以編輯寫入文件,必須進行權限修改,Linux相關命令是「chmod」,change modification改變修訂的意思。「chmod」後面第1個參數是「O=rw–」這裡的「O」代表「others」,也就是前面步驟提到的其他或者普通使用者,不是所有者也不是群組成員,因此是其它使用者。「r」代表「讀取」Reading、「w」代表寫入Write,「rw-」表示將其它使用者權限設定為可以讀取及寫入,可是沒有第三項的執行權限,

第2個參數是要設定權限的文件也就是「test」,設定好了之後在利用「 ls」命令解釋,可以看到確實已經將後面第3組的權限設定更改了,而既然修改好了,就來實際臨時隱匿它使用者的帳號身份,執行Vi編輯器命令,準備編輯test這個文件。

關於Linux ls -l命令用法,可以參考贊贊小屋相關文章。

Linux教學:系統使用者管理,chmod命令如何修改權限 5

五、修改文件測試

果然依照所修改的權限設定,現在其它使用者已經可以編輯寫入「test」這份文件了,左下角是顯示正常的插入編輯模式「––INSERT––」,在後面加上「by zanzan」。

關於Linux系統如何使用Vi編輯器修改文件,可以參考贊贊小屋相關文章。

一張含有 文字 的圖片

自動產生的描述

六、cat檢視文件

結束vi編輯器回到Linux系統終端機,再以「sudo」命令臨時以其它使用者身份檢視文件,確實已經被修改存檔了。

Linux教學:系統使用者管理,chmod命令如何修改權限 8

七、全部權限取消

最後做個小小測試,利用先前步驟學到的「chmod」修改權限,這次把其它使用者全部權限都拿掉,也就是「–––」三條橫線,試著再以「zanzan」帳號顯示文件,可以看到已經沒有辦法了:「拒絕不符權限的操作」。

Linux教學:系統使用者管理,chmod命令如何修改權限 10

Linux權限實務應用

這篇文章顯然是在自己電腦所安裝的Linux系統虛擬機器,直接以「root」管理員登入,本來就具備了所有權限,再去新增使用者並且修改權限,似乎有些多餘,不過實務上場合,大致上不會是在自己電腦上作業,例如雲端平台上的虛擬機器,微軟Azure或者Google的GCP,依照贊贊小屋經驗,根本沒辦法以root管理員登入,發現有些文件沒有辦法檢視修改,此時就必須用到這篇文章所介紹的sudo命令,也因為這個緣故,必須對於Linux系統權限機制有個基本的瞭解。

每天學習,每天充電:Linux文章合集

Linux教學:系統使用者管理,chmod命令如何修改權限 12
歡迎加入Line社群,口袋裡的VBA小教室!