了解有關 root 權限的幾點
我只是想確認我對與 root 權限相關的一些事情的理解。是否正確:
- 使用者名“管理員”不是具有隱含權限的保留名稱,它只是一個使用者名,我可以使用它而不會無意中破壞固有的安全性?
- 在終端中使用 SU 命令的效果僅限於該終端會話中的活動。例如,在該終端會話中成為 root 不會繞過從應用程序菜單啟動的並發應用程序中的密碼請求,或者如果我同時打開另一個終端會話,則不會授予我 root 權限。
另外,什麼命令會告訴我我目前是否有 root 權限?
使用者名“管理員”不是具有隱含權限的保留名稱,它只是一個使用者名,我可以使用它而不會無意中破壞固有的安全性?
使用者 ID 號為 0 即可獲得 root 權限。如果使用者“管理員”具有不同的 ID 號,則它只是普通使用者
在終端中使用 SU 命令的效果僅限於該終端會話中的活動。
效果適用於由(或使用該選項
su
執行的任何命令)生成的 shell 。-c
並且作為該外殼/命令的後代的任何程序都將保留這些特權(除非它們明確刪除它們)。另外,什麼命令會告訴我我目前是否有 root 權限?
id
將告訴您正在執行的使用者/組,以及使用者/組 ID 號。如果使用者的 ID 號為 0,則您具有 root 權限。
“管理員”這個名字來自 Windows 世界。在 Unix 世界中,“系統管理員”是一個職位描述,但“管理員”對於帳戶而言並不意味著任何特殊的東西。
與 Windows 不同,Unix 帳戶本質上沒有特權的概念。帳戶中的權限由他們可以訪問的文件、他們可以執行的 setuid 命令、他們允許使用的 sudo 規則、適用的 SELinux 策略等授予。這些可以直接授予使用者,或使用者所屬的組。
有一個例外:使用者 ID 為 0 的帳戶獲得了很多額外的權限(基本上是做幾乎所有事情的權限)。這個帳戶通常被稱為
root
(就核心而言,可以使用另一個名稱,因為核心不知道使用者名,但這會破壞許多與管理相關的軟體)。root 帳戶不適用於使用者在正常操作中登錄。是系統賬號。管理員僅以 root 身份執行命令來執行系統配置任務,不做其他工作。管理員有時可能會以 root 身份登錄以執行系統安裝或修復,但不會將 root 帳戶用於與系統無關的任務,例如 Web 瀏覽和電子郵件,他們會使用他們的個人帳戶來執行此操作。
通俗地說,管理員帳戶是能夠以 root 身份執行命令的使用者的帳戶。通常這是通過sudo完成的,該程序允許使用者以其他使用者(包括 root)的身份執行命令,前提是他們被 sudo 配置授權這樣做。
特權與程序相關聯並由其子程序繼承。當您以提升的權限(例如通過
su
或sudo
)執行程序時,只有該程序及其啟動的程序具有提升的權限。會話的其餘部分不受影響。