Linux中root用戶切換至其他用戶的多種方式
在 Linux 系統(tǒng)中,root 用戶切換至其他用戶有多種方式,具體方法及注意事項如下:
一、su 命令(Switch User)
1. 基本用法
su - 目標用戶名
示例:切換到用戶 john
su - john
特點:
-或-l選項會加載目標用戶的環(huán)境變量(如~/.bashrc)。- 需輸入目標用戶的密碼(除非 root 操作,root 切換無需密碼)。
2. 不加載環(huán)境變量(快速切換)
su 目標用戶名
區(qū)別:僅切換用戶身份,不改變當前工作目錄和環(huán)境變量。
二、sudo 命令(以其他用戶身份執(zhí)行命令)
1. 以目標用戶運行單條命令
sudo -u 目標用戶名 命令
示例:以用戶 john 執(zhí)行 whoami
sudo -u john whoami
2. 交互式切換到目標用戶
sudo -iu 目標用戶名
效果:等同于 su - 目標用戶名,但通過 sudo 權限切換(需配置 sudoers 文件)。
三、runuser 命令(無需密碼切換)
1. 僅限 root 使用
runuser -l 目標用戶名 -c '命令' # 執(zhí)行單條命令 runuser - 目標用戶名 # 交互式登錄
特點:
- 無需輸入目標用戶密碼,但 僅 root 可用。
- 適用于腳本中自動化操作。
四、注意事項
密碼要求:
su需目標用戶密碼(root 除外),sudo需當前用戶有 sudo 權限。- root 切換至任何用戶均 無需密碼。
環(huán)境差異:
- 帶
-的切換(如su - john)會加載目標用戶的完整環(huán)境。 - 不帶
-的切換(如su john)保留當前環(huán)境變量。
- 帶
權限控制:
- 普通用戶無法直接切換至其他用戶,除非通過
sudo授權。 sudoers文件配置示例(允許用戶alice切換到john):
- 普通用戶無法直接切換至其他用戶,除非通過
alice ALL=(john) /bin/su
安全建議:
- 避免長期使用 root 切換操作,完成任務后及時退出。
- 推薦通過
sudo限制權限,而非直接共享 root 密碼。
五、退出切換的用戶
exit # 或按 Ctrl+D
作用:返回原用戶(如從 john 返回到 root)。
六、應用場景示例
1. 腳本中切換用戶執(zhí)行任務
#!/bin/bash runuser -l john -c 'echo "Running as $(whoami)"'
2. 管理員臨時調試用戶環(huán)境
su - john # 加載 john 的環(huán)境變量 cd ~/projects ./start.sh exit # 返回 root
總結
| 命令 | 需密碼 | 加載環(huán)境 | 適用場景 |
|---|---|---|---|
su - 用戶名 | 是(root 除外) | 是 | 完全切換到目標用戶環(huán)境 |
su 用戶名 | 是(root 除外) | 否 | 快速切換身份 |
sudo -iu 用戶名 | 當前用戶 sudo 密碼 | 是 | 受控權限切換(需配置 sudo) |
runuser - 用戶名 | 否 | 是 | root 在腳本中切換用戶 |
到此這篇關于Linux中root用戶切換至其他用戶的多種方式的文章就介紹到這了,更多相關Linux root切換其他用戶內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Apache啟動錯誤Permission denied: httpd: could not open error log
這篇文章主要介紹了Apache啟動錯誤Permission denied: httpd: could not open error log file解決方法,需要的朋友可以參考下2014-07-07
詳解阿里云Linux啟動tomcat并能外網(wǎng)訪問
本篇文章主要介紹了詳解阿里云Linux啟動tomcat并能外網(wǎng)訪問,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-03-03
Linux VPS備份教程 手動備份網(wǎng)站數(shù)據(jù)
老左其實也比較贊同不是所有的網(wǎng)站都需要采用自動備份,每天都自動備份也感覺沒有必要,除非我們的網(wǎng)站非常的重要2012-09-09
戴爾Dell?R630配置raid?安裝centos系統(tǒng)
這篇文章主要介紹了戴爾R630服務器配置raid后安裝centos7.9的方法,需要的朋友可以參考下2024-03-03
Linux下SVN服務器同時支持Apache的http和svnserve獨立服務器兩種模式且使用相同的訪問權限賬號
這篇文章主要介紹了Linux下SVN服務器同時支持Apache的http和svnserve獨立服務器兩種模式且使用相同的訪問權限賬號,需要的朋友可以參考下2015-07-07

