/etc/passwdecho 'deltawen:x:0:0:deltawen:/home/deltawen:/bin/ash' >> /etc/passwd
/etc/shadow(加入空密碼或自行設定)echo 'deltawen::0:0:99999:7:::' >> /etc/shadow
mkdir -p /home/deltawen
chown 0:0 /home/deltawen
passwd deltawen
/etc/passwdecho 'omagawen:x:1000:1000:omagawen:/home/omagawen:/bin/ash' >> /etc/passwd
/etc/shadow(加入空密碼或自行設定)echo 'omagawen::0:0:99999:7:::' >> /etc/shadow
mkdir -p /home/omagawen
chown 1000:1000 /home/omagawen
echo 'omagawen:x:1000:' >> /etc/group
passwd omagawen
這兩行命令直接修改了 Linux 系統的使用者帳號資料庫 /etc/passwd 和 /etc/shadow,目的是手動新增一個 UID/GID 為 0 的超級使用者帳號 deltawen。這樣的操作具有極高的權限風險與安全性影響。下面是詳細解析:
/etc/passwd 的新增項目echo 'deltawen:x:0:0:deltawen:/home/deltawen:/bin/ash' >> /etc/passwd
這行將以下內容追加到 /etc/passwd:
| 欄位位置 | 說明 |
|---|---|
deltawen |
使用者名稱 |
x |
密碼欄位(實際密碼儲存在 /etc/shadow) |
0 |
使用者 ID(UID),0 表示 root 權限 |
0 |
群組 ID(GID),同樣是 root 群組 |
deltawen |
使用者描述(通常是全名或備註) |
/home/deltawen |
使用者主目錄 |
/bin/ash |
登入後使用的 shell(這裡是 BusyBox 的 ash shell) |
🔐 重點:UID/GID 為 0 表示此帳號擁有 root 權限。
/etc/shadow 的新增項目echo 'deltawen::0:0:99999:7:::' >> /etc/shadow
這行將以下內容追加到 /etc/shadow:
| 欄位位置 | 說明 |
|---|---|
deltawen |
使用者名稱 |
(空白) |
密碼欄位,空白表示無密碼即可登入(極度危險) |
0 |
上次變更密碼的日期(自 1970 年起的天數) |
0 |
密碼可變更的最小天數 |
99999 |
密碼需變更的最大天數(99999 表示幾乎永不過期) |
7 |
密碼過期前的警告天數 |
|
密碼過期後的帳號停用天數(空白表示不會停用) |
|
帳號停用日期(空白表示不會停用) |
⚠️ 重點:空密碼 + root 權限 = 極高風險。任何人只要知道帳號名稱就能登入並取得 root 權限。
這種做法在某些嵌入式系統或救援模式下可能是必要的,但在一般系統中:
useradd 或 adduser 工具來建立帳號,並設定密碼與權限。/etc/passwd 和 /etc/shadow,尤其是用 UID 0 且無密碼。passwd deltawen
userdel -r deltawen
這組命令看起來像是在建立一個非 root UID/GID 的使用者 omagawen,但卻給了它一個空密碼且密碼資訊與 root 相同的 /etc/shadow 設定。這會造成權限與安全性不一致的問題。讓我來逐欄解析並指出潛在風險與建議。
/etc/passwd 的新增項目echo 'omagawen:x:1000:1000:omagawen:/home/omagawen:/bin/ash' >> /etc/passwd
| 欄位 | 說明 |
|---|---|
omagawen |
使用者名稱 |
x |
密碼欄位(實際密碼儲存在 /etc/shadow) |
1000 |
UID,代表一般使用者(非 root) |
1000 |
GID,使用者的主要群組 |
omagawen |
使用者描述 |
/home/omagawen |
主目錄 |
/bin/ash |
使用的 shell(BusyBox 的 ash) |
✅ 這是標準的一般使用者設定。
/etc/shadow 的新增項目echo 'omagawen::0:0:99999:7:::' >> /etc/shadow
這裡的問題就出現了。雖然 /etc/passwd 給的是 UID 1000,但 /etc/shadow 的設定卻是:
| 欄位 | 說明 |
|---|---|
omagawen |
使用者名稱 |
(空白) |
密碼欄位 → 空密碼,任何人可登入 |
0 |
密碼最後變更日(1970 年) |
0 |
密碼可變更的最小天數 |
99999 |
密碼需變更的最大天數 |
7 |
密碼過期前的警告天數 |
|
密碼過期後的停用天數 |
|
帳號停用日期 |