Linux 中的 sudo
命令代表 “SuperUser DO”。這是一個功能強大的命令,允許使用者以另一個使用者(通常是 “超級使用者”)的安全許可權執行程式或其他命令。當某些操作需要比標準使用者賬戶更高階別的許可權時,這個命令就特別有用。
超級使用者在 Linux 中也稱為 root 使用者,對系統擁有最高階別的訪問許可權,可以讀取、寫入和修改任何檔案。不過,以超級使用者身份執行命令可能會有潛在風險,因為如果命令被誤用或出錯,可能會無意中導致整個系統的更改或資料丟失。
因此,為了保護系統,大多數 Linux 發行版都會限制超級使用者賬戶的直接訪問許可權。這就是 sudo
發揮作用的地方。它就像一個守門員,允許授權使用者執行敏感操作或修改系統設定,同時記錄所有命令及其結果。這對於系統審計和確定某些更改是如何進行的非常有用。
當你在命令前輸入 sudo
時,系統會檢查一個名為 sudoers 檔案的特殊檔案,檢視使用者是否有許可權以超級使用者身份執行命令。如果有,系統可能會提示輸入密碼(取決於系統設定)。身份驗證後,系統將以超級使用者許可權執行命令。
下面是一些使用 sudo
命令的方法:
1. 以根使用者身份執行命令
sudo
的基本用法是以根使用者身份執行命令。
示例:
例如要以 root 使用者身份執行 ls
命令,可以使用:
sudo ls
2. 切換到根使用者
你可以使用 sudo su
切換到根使用者。這會提示你輸入密碼,而不是 root 密碼。
sudo su
3. 以不同使用者身份執行命令
使用使用者名稱後的 -u
選項,可以使用 sudo
以不同使用者身份執行命令。
示例:
要以使用者 john
的身份執行 ls
,可以使用:
sudo -u john ls
4. 以根使用者身份編輯檔案
您可以使用 sudo
以根使用者身份編輯檔案。
示例:
要以根使用者身份使用 nano
編輯 /etc/hosts
檔案,可以使用:
sudo nano /etc/hosts
5. 無密碼執行命令
通過在 sudoers 檔案中新增一行(使用 sudo visudo
編輯該檔案),可以配置 sudo
在無密碼的情況下執行特定命令。
示例:
要允許所有使用者在沒有密碼的情況下執行 ls
,可以新增:
ALL ALL = NOPASSWD: /bin/ls
6. 更新 sudo 快取憑據
預設情況下,sudo
會快取密碼 15 分鐘。如果你想在快取證書過期前更新它們(例如,如果你即將離開電腦),可以使用 sudo -v
。
sudo -v
7. 使快取的 sudo 憑據失效
如果要手動失效 sudo 快取的憑據(例如,在執行完管理任務後),可以使用 sudo -k
。
sudo -k
更多 Linux 命令
下面羅列了最常見的一些 Linux 命令,您可以根據自己的需要查閱對應命令的詳細解析:
目錄操作 | rmdir · cd · pwd · exa · ls |
檔案操作 | cat · cp · dd · less · touch · ln · rename · more · head |
檔案系統操作 | chown · mkfs · locate |
網路 | ping · curl · wget · iptables · mtr |
搜尋和文字處理 | find · grep · sed · whatis · ripgrep · fd · tldr |
系統資訊和管理 | env · history · top · who · htop · glances · lsof |
使用者和會話管理 | screen · su · sudo · open |
此外,我們還整理 Linux 命令列大全,以幫助大家全面深入地學習 Linux。
評論留言