歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> Linux服務器

Ubuntu中Sudo和Root帳號相關

在 Ubuntu, 傳統 UNIX ’root’ 被屏蔽了 (也就是 你不能使用 root 來登錄). 這樣選擇的原因在本文的後面做出描述.

  快速回答

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

  你將會提示輸入你的口令, 口令將保存 15 分鐘. 過了這個時間, 你將需要重新輸入你的口令

  在使用 Ubuntu 時,推薦使用 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] 或: kdesu [application]

  Ubuntu 中的 kdesu 已修改成使用 sudo.

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

  這種模式的好處

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

  起初 Ubuntu 團隊希望安裝盡可能的簡單. 不使用 root , 在安裝期間的兩個用戶交互步驟能省略. (科林?沃森)

  更進一步, 如果在安裝中使用 root, 用戶將被需求永遠記住他們選擇的密碼--即使他們非常少使用到他. Root 密碼經常被對 Unix 安全模型不熟悉的用戶忘記. (馬特?齊默曼)

  他防止了缺省登錄時 "我能做所有事情" --在較大的變化發生之前,你將被提示輸入口令,這能使你考慮你這樣做的結果. 如果你作為 root 登錄, 你能刪除一些 "沒用的目錄" 並且不會意識到你正處於錯誤的目錄,那時已太晚了. 他是在 Unix 下長時間使用 "su-command-^D" 練習的情況下,代替一直呆在 root shell--除非你做嚴重的系統維護 (那時你仍然能使用 "sudo su"). (吉姆?奇塔姆 和 安德魯?索巴拉)

  Sudo 增加了運行命令的日志記錄  (在 /var/log/auth.log). 如果你陷入困境, 你總是能返回並看見那些運行的命令. (安德魯?Zbikowski)

  [NextPage]

  安全

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

  在鼓勵使用 root 權限執行一個獨立的命令, sudo 好過打開一個 shell:

  減少使用 root 權限的時間總耗用, 降低了不注意使用 root 執行命令的風險

  提供了有用的審核痕跡

  有一個獨立的 root 密碼 (傳統模型) 提供了一層額外的保護,當如果一個管理員的密碼被侵害時。

  無論怎樣, 如果管理員 (使用 sudo 或 su 變成 root) 被侵害, 攻擊者一般能通過一次間接的攻擊來獲得 root

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

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

  一些來自 universe 的包將有力的破除 (例如 webmin) 或讓使用變得危險. 一個好的變通方法是在處理受影響的包之前激活 root 帳號 (sudo su-; passwd ) 並在後面鎖住 (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 導入. 安裝一個工作站www.britepic.org, 或修復他, 在這個案例網絡失敗,導致 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 口令.

Copyright © Linux教程網 All Rights Reserved