Sudo 和 Root 帳號

Sudo 和 Root 帳號

在 Ubuntu 中, 傳統 UNIX 'root' 被屏蔽了 (也就是 你不能使用 root 來登錄). 這樣選擇的原因在本文的後面做出描述。
Hiweed Linux 採用 Xubuntu 軟件庫,所以也繼承了 Ubuntu 的這一特點。

快速回答

使用 root 權限執行命令, 在每個命令前面加上 'sudo' 命令, 例如

sudo chown bob *

你將會提示輸入你的口令, 口令將保存 15 分鐘. 過了這個時間, 你將需要重新輸入你的口令.
在使用 Hiweed Linux 時,推薦使用 sudo.
啓動一個 root shell (例如 一個你可以運行 root 命令的窗口) 使用:

sudo -s

警告: sudo -s 不會改變環境變量 ($HOME, $PATH 等). 它有一些不好的副作用. 你可以使用 sudo -i 初始化整個 root 環境.
爲了啓用 root 帳號 (也就是 設置一個口令) 使用:

sudo passwd root

當你使用完畢後屏蔽 root 帳號 使用:

sudo passwd -l root

這個將鎖住 root 帳號.
給圖形界面的應用程序 root 權限,使用:

gksudo [application]

使用 sudo 與 gksudo 相反, 有可能產生文件的所有權問題 .

這種模式的好處

缺省禁止 root 的好處包括了以下內容.

  • 起初 Ubuntu 團隊希望安裝儘可能的簡單. 不使用 root , 在安裝期間的兩個用戶交互步驟可以省略. (科林·沃森)
  • 更進一步, 如果在安裝中使用 root, 用戶將被要求永遠記住他們選擇的密碼--即使他們很少使用到它. Root 密碼經常被對 Unix 安全模型不熟悉的用戶忘記. (馬特·齊默曼)
  • 它防止了缺省登錄時 "我能做任何事情" --在較大的變化發生之前,你將被提示輸入口令,這可以使你考慮你這樣做的結果. 如果你作爲 root 登錄, 你可以刪除一些 "沒用的文件夾" 並且不會意識到你正處於錯誤的目錄,那時已經太晚了. 它是在 Unix 下長時間使用
    "su-command-^D" 練習的情況下,代替一直呆在 root shell--除非你做嚴重的系統維護 (那時你仍然可以使用
    "sudo su"). (吉姆·奇塔姆 和 安德魯·索巴拉)
  • Sudo 增加了運行命令的日誌記錄 (在 /var/log/auth.log). 如果你陷入困境, 你總是可以返回並看見那些運行的命令.
    (安德魯·Zbikowski)

安全

與傳統的 superuser 模型相比,這種方法有不同的利弊,兩者都不總是顯示優良的.

  • 在鼓勵使用 root 權限執行一個單獨的命令, sudo 好過打開一個 shell:
  • 減少使用 root 權限的時間總耗用, 降低了不注意使用 root 執行命令的風險
  • 提供了有用的審覈痕跡
  • 有一個單獨的 root 密碼 (傳統模型) 提供了一層額外的保護,當如果一個管理員的密碼被侵害時。
  • 無論怎樣, 如果管理員 (使用 sudo 或 su 變成 root) 被侵害, 攻擊者一般可以通過一次間接的攻擊來獲得 root

使用 "sudo" 模式可能的問題

儘管桌面使用 sudo 的是有利的,不過還是有些可能的問題需要注意.

  • 一些來自 universe 的包將有力的破除 (例如 webmin) 或讓使用變得危險. 一個好的變通方法是在處理受影響的包之前激活 root 帳號 (sudo su-; passwd
    <password>) 並在後面鎖住 (su -; passwd -l).
  • 運行使用 sudo 的命令重定向輸出可能引發新用戶問題 (考慮 "sudo ls > /root/somefile"). 變通方法是使用 "sudo sh -c 'ls > /root/somefile'" (但這種替換變得非常醜陋), 使用 Adverbio, 或簡單的使用 sudo -s 獲得 root shell ,在那裏執行。
    • MattZimmerman: 對於大多數的簡單解決方法是使用 dd(1): ls | sudo dd of=/root/somefile

  • 在許多辦公室環境系統上唯一的用戶就是 root. 全部其他用戶使用 NSS 技巧例如 nss-ldap 導入. 安裝一個工作站, 或修復它, 在這個案例網絡失敗,導致 nss-ldap 被斷開, root 被要求使用. 這中傾向於留下系統無法使用,除非被破解.
    • JerryHaltom: 也許在那些案例必需建立一個本地帳號: "admin" 擁有 sudo 到 root 權限.
    • LucasVignoliReis: 我認爲這是一個好的主意, 一個 sudoer 系統管理員帳號, 和一個普通帳號給其它的用戶.

誤解

  • sudo 沒有 su 安全?
    • 基本的安全模型都是一樣的, 因此這兩個系統有着一致的主要弱點. 任何使用 su 或 sudo 必需是一個特權用戶.如果攻擊者損害了那個用戶的帳號, 下次用戶這樣做時,攻擊者同樣可以獲得 root 特權. 用戶在這條鏈上是一個弱的連接, 因此必須作爲 root 用戶小心保護. 在更深的層次, sudo 提供不同的工作技巧, 這些肯定可以影響到系統的安全. sudo 通常被用來只執行單一的命令, 當 su 被通常使用打開一個 shell 並執行多條命令. sudo 儘量減少一個離開時被打開 root shell 的可能性, 並鼓勵減少用戶的 root 特權.
  • 我不能進入單用戶模式!
    • 在 Ubuntu 的 sulogin 程序被計劃修改來處理被鎖住的 root 口令.
‹ Desktop 1.0 硬盤安裝up
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章