首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Linux 入門:Root 與普通用戶區分、su/sudo 使用指南

     編輯:程式設計綜合問答

1. 終端識別身份

  • 提示符:用戶名@主機名:路徑$ → 普通用戶($ 結尾)
  • 提示符:用戶名@主機名:路徑# → Root 用戶(# 結尾)
  • 命令 whoami 顯示當前用戶名;id 顯示 UID/GID(root 的 UID=0)。

2. su 切換到 Root 失敗原因

  • su - 需要 **Root 密碼**。
  • Ubuntu **安裝時默認不設置 Root 密碼**(鎖定 Root),故直接 su - 提示認證失敗。

3. 正確獲取 Root 權限的方式

方式一:sudo -s / sudo -i(推薦)

sudo -s   # 獲取 root shell,環境變量保持當前用戶
sudo -i   # 獲取 root 登錄 shell,環境變量重置為 root
# 輸入**當前用戶**密碼(安裝時設置的密碼)

退出:exit 或 Ctrl+D。

方式二:單條命令提權

sudo apt update
sudo systemctl restart nginx

方式三:設置 Root 密碼後用 su(不推薦日常)

sudo passwd root   # 先用 sudo 設置 root 密碼
su -               # 再用 su 切換,輸入剛設置的 root 密碼

4. sudo 在 Root 下是否可用?

  • Root 用戶**擁有所有權限**,無需 sudo,直接運行命令即可。
  • Root 下執行 sudo cmd 會正常工作(以 root 身份再次執行),但**毫無意義**,累贅。

5. 核心概念釐清

命令作用需輸入密碼
sudo臨時提升**當前用戶**權限執行單條命令當前用戶密碼
su切換用戶(默認切換到 root)**目標用戶**密碼(root 密碼)
sudo -s/-i獲取 root 交互 shell當前用戶密碼

總結

  • 看提示符 $/# 或 whoami 判斷身份。
  • Ubuntu 默認無 Root 密碼,**用 sudo -s 獲取 Root shell**。
  • sudo 輸入**自己的密碼**;su 輸入**目標用戶密碼**。
  • Root 下無需 sudo,直接執行命令。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved