Linux 單用戶模式(Single User Mode,Runlevel 1)是系統維護的「急救模式」:僅載入核心必要服務,不啟動網路、不啟動圖形介面、Root 免密碼登入、擁有完整系統控制權。本文詳述三大引導器進入方法、實戰維修場景與四項關鍵防護措施,防止未授權存取。
啟動至 BOOT: 提示符,輸入:
linux single
LILO 提示符下輸入完整核心參數(以 Red Hat 7.2 核心 2.4.7-10 為例):
kernel /boot/vmlinuz-2.4.7-10 single root=/dev/hda3
single:指定單用戶模式(或 1、s、S)。root=:指定根分區,若僅安裝 Linux 通常為 /dev/hda1,第二顆硬碟為 /dev/hdb1。kernel /boot/vmlinuz-2.4.7-10 single root=/dev/hda3
initrd /boot/initrd-2.4.7-10.img
boot (hd0,2)
(hd0,2):第一顆硬碟第三分區(GRUB 分區從 0 起算)。/boot 內容。passwd root。/etc/fstab 錯誤導致開機失敗:掛載根分區 mount -o remount,rw /,編輯修正。fsck -y /dev/hda3(確保分區未掛載或唯讀掛載)。setenforce 0 或編輯 /etc/selinux/config 設 SELINUX=permissive。/etc/passwd/shadow:從備份還原或手工重建。/etc/inittab:防止惡意修改 id:3:initdefault: 為 id:1:initdefault: 導致每次開機進入單用戶。chmod 600 /etc/inittab(僅 root 可讀寫),或 chattr +i /etc/inittab 鎖定不可改。/etc/lilo.conf 設 delay=0 或極短值,執行 lilo 更新。需進入時改用軟碟/光碟啟動。grub-md5-crypt 產生雜湊,寫入 /boot/grub/grub.conf:password --md5 $1$hash...。鎖定選單編輯與命令列存取。systemd 系統(RHEL 7+/CentOS 7+/Ubuntu 16.04+)無 Runlevel 概念,對應目標:
systemd.unit=rescue.target 或啟動選單編輯核心參數加 systemd.unit=rescue.target(或 1、s、single 兼容參數)。systemd.unit=emergency.target(更極小,不掛載本地檔案系統)。單用戶模式是雙刃劍:維修利器亦是安全漏洞。掌握三大引導器進入技巧、熟悉常見維修指令,**務必實施四項防護(inittab 權限、引導器密碼、BIOS 密碼、實體安全)**,讓急救模式只屬於授權管理員。