HOWTO · Raspberry Pi
在樹莓派上以 root 使用者身份登入
了解如何使用 Raspberry Pi OS 的 root 存取權限、設定可選的 root 密碼,並作出更安全的 SSH 選擇。
本頁內容
管理 Raspberry Pi OS 時,請使用具有 sudo 權限的帳戶執行管理工作。若要暫時開啟互動式 root shell,請執行 sudo -i;不必啟用 root 密碼。帳戶名稱、初始登入憑證和 sudo 權限會因 OS 版本及裝置設定方式而異,因此不要假設每次安裝都有 pi 帳戶或共用的預設密碼。
了解 Raspberry Pi OS 上的 root 存取權限
root 帳戶有權變更整個系統的檔案與設定。root shell 中執行的每個命令都會使用這些權限,因此只在工作需要時使用,完成後便離開。若只需執行一個管理命令,可在命令前加上 sudo;若要連續執行多個命令,使用互動式 shell 可能更方便。
某些安裝方式會在設定過程中建立管理員帳戶,並授予該帳戶 sudo 權限。帳戶名稱可能是 pi,也可能是其他名稱。執行 id -un 查看目前使用的帳戶:
id -un
root
此命令會輸出目前的帳戶名稱。在本範例使用的執行環境中,觀察到的輸出是 root;在你的 Pi 上,輸出則會是目前登入的帳戶。如果 sudo 提示該帳戶沒有使用權限,請改用管理員帳戶登入,或依該安裝方式使用復原程序;切換成 root 不會讓原本沒有權限的帳戶取得權限。
從 pi 帳戶開啟 root shell
如果你以 pi 帳戶登入,且該帳戶具有 sudo 權限,請執行下列命令開啟 root 登入 shell:
sudo -i
若系統提示,請輸入目前帳戶的密碼。Shell 提示字元可能會改變,但提示字元的格式各不相同;請使用 id -un 確認目前的帳戶。在此 shell 中執行的命令都會使用 root 權限。輸入 exit 或按下 Ctrl+D,即可返回原本的帳戶。你也可以用 sudo command 執行單一管理命令,並將 command 替換成所需的命令。
為 root 帳戶設定密碼
另行設定 root 密碼是選擇性的,使用 sudo 管理系統並不需要它。如果你有特定理由要啟用以密碼為基礎的 root 存取方式,而且目前帳戶具有 sudo 權限,可透過互動方式設定:
sudo passwd root
依照提示輸入並確認新密碼。這會變更 root 帳戶的密碼,不會變更目前帳戶的密碼。設定後,可使用 su - 並輸入 root 密碼來開啟 root 登入 shell。輸入 exit 或按下 Ctrl+D 即可離開。請妥善保管密碼;若工作可用 sudo 完成,請優先使用 sudo,讓管理員以自己的帳戶操作,並保留操作可追溯性。
設定 root 的 SSH 存取
透過 SSH 直接以 root 登入,會讓遠端連線取得對裝置的廣泛控制權。日常管理較安全的做法是使用一般帳戶連線,再以 sudo 執行所需命令。這也能避免啟用以密碼進行的 root 登入。
如果確實需要遠端 root 登入,請先檢查該安裝環境實際生效的 SSH 伺服器設定與驗證政策,再進行變更。PermitRootLogin prohibit-password 會停用 root 的密碼與鍵盤互動式驗證。依實際生效的 SSH 設定而定,其他驗證方式仍可能可用。請參閱 OpenSSH 官方的 PermitRootLogin sshd_config 說明文件。不要把指令改成 yes,當成通用的修復方式。僅使用金鑰的設定仍需要妥善保護私密金鑰,並為 root 設定正確的公開金鑰;SSH 設定也可能包含其他檔案或規則,進而影響結果。套用規劃好的設定變更時,請保留現有的管理連線,並在關閉該連線前另外確認新連線可用。服務名稱與重新啟動程序可能因安裝方式而異。