提升Linux系統管理技能:掌握SUDO權限配置和帳戶設定
當我們在Linux系統中運行一般使用者帳戶時,有時會需要執行需要超級用戶權限的指令,例如更新軟體包或下載檔案等。然而,如果一般使用者沒有被授予sudo權限,就無法執行這些指令。為了讓一般使用者能夠使用sudo指令,我們需要進行sudoers設定。
這裡將介紹如何配置sudo權限以及其他有趣的帳戶存取相關的設定。
sudoers設定檔
在Linux系統中,可以使用sudoers設定檔來指定使用者、群組或別名的sudo權限。該設定檔通常位於/etc/sudoers
。
然而,為了避免對sudoers設定檔進行錯誤的更改,我們應該使用 visudo
指令來編輯設定檔。
visudo
在保存設定時會檢查是否存在錯誤的配置,例如錯誤的權限或語法問題。請注意,sudoers設定檔只能使用 visudo
指令來編輯,如果直接使用vim等編輯器,可能會遇到唯讀或無法覆寫的問題,會跳出 read-only,cannot override.
可以使用以下命令來打開sudoers設定檔進行編輯:
1 | sudo visudo |
一旦打開了設定檔,可以在root行下方添加新的配置,指定要授予哪個使用者或群組什麼樣的權限。
1 | root ALL=(ALL:ALL) ALL |
其他有趣的帳戶存取設定
passwd 參數 -l
passwd
命令的-l參數用於鎖定帳戶密碼。當我們鎖定帳戶密碼時,系統會將密碼的雜湊值(放在 /etc/shadow )更改為系統中尚未使用的值。 鎖定的密碼在 /etc/passwd
檔案中的密碼雜湊值前面顯示一個驚嘆號(!)。因此,當我們使用以下命令鎖定帳戶密碼時:
1 | passwd -l |
其他使用者使用sudo su等指令時,將無法切換為root用戶。
此外,我們可以使用chsh命令來更改帳戶的shell。
1 | sudo chsh root |
上面的截圖顯示了passwd命令的輸出,其中root用戶的預設shell是 /bin/bash
。
另外,而可以觀察到其他很多都是 /usr/sbin/nologin
,這表示在本地或遠端都無法使用這個帳戶登錄。因此,如果將root的shell更改為 /usr/sbin/nologin
,則沒有人可以訪問root帳戶。
1 | sudo chsh root |
以上是有關配置sudo權限和更改帳戶shell的一些技巧。
透過這些設定,我們可以更好地管理Linux系統上的使用者權限和安全性。