Linux中root用戶切換至其他用戶的多種方式
在 Linux 系統(tǒng)中,root 用戶切換至其他用戶有多種方式,具體方法及注意事項(xiàng)如下:
一、su 命令(Switch User)
1. 基本用法
su - 目標(biāo)用戶名
示例:切換到用戶 john
su - john
特點(diǎn):
-或-l選項(xiàng)會(huì)加載目標(biāo)用戶的環(huán)境變量(如~/.bashrc)。- 需輸入目標(biāo)用戶的密碼(除非 root 操作,root 切換無(wú)需密碼)。
2. 不加載環(huán)境變量(快速切換)
su 目標(biāo)用戶名
區(qū)別:僅切換用戶身份,不改變當(dāng)前工作目錄和環(huán)境變量。
二、sudo 命令(以其他用戶身份執(zhí)行命令)
1. 以目標(biāo)用戶運(yùn)行單條命令
sudo -u 目標(biāo)用戶名 命令
示例:以用戶 john 執(zhí)行 whoami
sudo -u john whoami
2. 交互式切換到目標(biāo)用戶
sudo -iu 目標(biāo)用戶名
效果:等同于 su - 目標(biāo)用戶名,但通過(guò) sudo 權(quán)限切換(需配置 sudoers 文件)。
三、runuser 命令(無(wú)需密碼切換)
1. 僅限 root 使用
runuser -l 目標(biāo)用戶名 -c '命令' # 執(zhí)行單條命令 runuser - 目標(biāo)用戶名 # 交互式登錄
特點(diǎn):
- 無(wú)需輸入目標(biāo)用戶密碼,但 僅 root 可用。
- 適用于腳本中自動(dòng)化操作。
四、注意事項(xiàng)
密碼要求:
su需目標(biāo)用戶密碼(root 除外),sudo需當(dāng)前用戶有 sudo 權(quán)限。- root 切換至任何用戶均 無(wú)需密碼。
環(huán)境差異:
- 帶
-的切換(如su - john)會(huì)加載目標(biāo)用戶的完整環(huán)境。 - 不帶
-的切換(如su john)保留當(dāng)前環(huán)境變量。
- 帶
權(quán)限控制:
- 普通用戶無(wú)法直接切換至其他用戶,除非通過(guò)
sudo授權(quán)。 sudoers文件配置示例(允許用戶alice切換到john):
- 普通用戶無(wú)法直接切換至其他用戶,除非通過(guò)
alice ALL=(john) /bin/su
安全建議:
- 避免長(zhǎng)期使用 root 切換操作,完成任務(wù)后及時(shí)退出。
- 推薦通過(guò)
sudo限制權(quán)限,而非直接共享 root 密碼。
五、退出切換的用戶
exit # 或按 Ctrl+D
作用:返回原用戶(如從 john 返回到 root)。
六、應(yīng)用場(chǎng)景示例
1. 腳本中切換用戶執(zhí)行任務(wù)
#!/bin/bash runuser -l john -c 'echo "Running as $(whoami)"'
2. 管理員臨時(shí)調(diào)試用戶環(huán)境
su - john # 加載 john 的環(huán)境變量 cd ~/projects ./start.sh exit # 返回 root
總結(jié)
| 命令 | 需密碼 | 加載環(huán)境 | 適用場(chǎng)景 |
|---|---|---|---|
su - 用戶名 | 是(root 除外) | 是 | 完全切換到目標(biāo)用戶環(huán)境 |
su 用戶名 | 是(root 除外) | 否 | 快速切換身份 |
sudo -iu 用戶名 | 當(dāng)前用戶 sudo 密碼 | 是 | 受控權(quán)限切換(需配置 sudo) |
runuser - 用戶名 | 否 | 是 | root 在腳本中切換用戶 |
到此這篇關(guān)于Linux中root用戶切換至其他用戶的多種方式的文章就介紹到這了,更多相關(guān)Linux root切換其他用戶內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Linux Shell echo命令/printf命令/test命令使用及說(shuō)明
本文介紹了Linux常用的echo、printf和test命令的用法和功能,對(duì)字符串輸出、格式化顯示以及條件測(cè)試進(jìn)行了簡(jiǎn)明講解,并提供了相關(guān)示例,適合腳本編寫參考2025-10-10
apache SHTML網(wǎng)頁(yè)SSI使用詳解
在網(wǎng)站構(gòu)建過(guò)中。當(dāng)我們遇到很多的內(nèi)容為靜態(tài)頁(yè)面,而頁(yè)首與頁(yè)腳又經(jīng)常要更換時(shí),如果一直使用html文件總會(huì)有很多的麻煩。2009-10-10
Linux定時(shí)刪除日志的簡(jiǎn)單實(shí)現(xiàn)方法
這篇文章主要給大家介紹了關(guān)于Linux定時(shí)刪除日志的簡(jiǎn)單實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Linux具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04
Linux服務(wù)器利用防火墻iptables策略進(jìn)行端口跳轉(zhuǎn)的方法
這篇文章主要介紹了Linux服務(wù)器利用防火墻iptables策略進(jìn)行端口跳轉(zhuǎn)的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10
Linux內(nèi)核的死鎖檢測(cè)工具—Lockdep的使用案例
文章主要介紹了Linux內(nèi)核中的死鎖問(wèn)題,包括死鎖的類型(遞歸死鎖和AB-BA死鎖)、lockdep模塊的使用方法以及實(shí)際項(xiàng)目中的死鎖案例,通過(guò)lockdep模塊,可以有效地跟蹤和調(diào)試死鎖問(wèn)題,幫助開(kāi)發(fā)者快速定位和解決問(wèn)題2024-11-11
Linux下雙網(wǎng)卡Firewalld的配置流程(推薦)
firewalld提供了一個(gè) 動(dòng)態(tài)管理的防火墻,用以支持不同網(wǎng)絡(luò)區(qū)域的規(guī)則,分配對(duì)一個(gè)網(wǎng)絡(luò)及其相關(guān)鏈接和界面一定程度的信任。這篇文章給大家介紹了Linux下雙網(wǎng)卡Firewalld的配置流程,需要的朋友參考下吧2018-04-04

