偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

深入解析 su 命令:從選項(xiàng)到實(shí)戰(zhàn)案例的全面指南

系統(tǒng) Linux 系統(tǒng)運(yùn)維
su(switch user)命令用于切換當(dāng)前用戶身份到其他用戶,可變更有效用戶 ID 和組 ID。

su(switch user)命令用于切換當(dāng)前用戶身份到其他用戶,可變更有效用戶 ID 和組 ID。以下是對(duì)該命令及各選項(xiàng)的詳細(xì)說(shuō)明:

su [options] [-] [ [...]]

選項(xiàng)

說(shuō)明

-m, -p, --preserve-environment

不重置環(huán)境變量,保留當(dāng)前用戶的環(huán)境配置(如 PATH、USER 等)

-w, --whitelist-environment <list>

僅保留指定的環(huán)境變量(列表形式,如 -w PATH,USER),其他變量會(huì)被重置

-g, --group <group>

指定切換后的主組(primary group),需與目標(biāo)用戶一起使用

-G, --supp-group <group>

指定切換后的附加組(supplemental group),可添加多個(gè)額外權(quán)限組

-, -l, --login

以登錄 shell 方式切換,會(huì)加載目標(biāo)用戶的登錄配置(如 .bash_profile),并切換到其家目錄

-c, --command <command>

執(zhí)行一條指定命令后退出(如 su -c "ls /root");--session-command 額外禁止創(chuàng)建新會(huì)話

--session-command <command>

--session-command

 額外禁止創(chuàng)建新會(huì)話

-f, --fast

向 shell 傳遞 -f 參數(shù)(僅適用于 csh/tcsh),用于加速 shell 啟動(dòng)

-s, --shell <shell>

指定切換后使用的 shell(需在 /etc/shells 中允許,如 -s /bin/zsh)

-P, --pty

創(chuàng)建偽終端(pseudo-terminal),支持交互式操作(如 vim、交互式命令行)

-T, --no-pty

不創(chuàng)建偽終端(安全性較差,可能導(dǎo)致交互式工具失效)

-h, --help

顯示命令幫助信息

-V, --version

顯示命令版本信息

-不能省略,它代表切換用戶身份時(shí),用戶的環(huán)境變量也要切換成新用戶的環(huán)境變量。大家知道環(huán)境變量是用來(lái)定義用戶的操作環(huán)境的,如果環(huán)境變量沒(méi)有隨用戶身份切換,那么很多操作將無(wú)法正確執(zhí)行。比如用戶opsbugs切換成超級(jí)用戶,但是沒(méi)有加入-,那么雖然是root用戶,但是$PATH環(huán)境變量還是opsbugs用戶的,不包含/sbin、/usr/sbin等超級(jí)用戶命令保存路徑,所以無(wú)法使用管理員命令;而且root用戶在接收郵件時(shí),還會(huì)發(fā)現(xiàn)收到的opsbugs用戶的郵件,因?yàn)榄h(huán)境變量$MAIL沒(méi)有切換過(guò)來(lái)。

[opsbugs@localhost ~]$ whoami
opsbugs
#查詢用戶身份,我是opsbugs
[opsbugs@localhost ~]$ su root
Password: 
#切換到root,但是沒(méi)有切換環(huán)境變量。注意:普通用戶切換到root需要root密碼
[root@localhost opsbugs]# env | grep opsbugs
#查詢環(huán)境變量,提取包含opsbugs的行
USER=opsbugs
#用戶名還是opsbugs,而不是root
PATH=/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/opsbugs/.local/bin:/home/opsbugs/bin
#命令查找的路勁不包含超級(jí)用戶路勁
MAIL=/var/spool/mail/opsbugs
PWD=/home/opsbugs
LOGNAME=opsbugs
#郵箱、家目錄、目前用戶名還是opsbugs

通過(guò)上面的例子我們已經(jīng)注意到,切換用戶時(shí)如果沒(méi)有加入-,那么切換是不完全的,要想完全切換,可以使用如下命令:

[opsbugs@localhost ~]$ su - root
Password: 
#`-`代表連帶環(huán)境變量一起切換,不能省略

有些系統(tǒng)命令只有root可以執(zhí)行,比如添加用戶的命令useradd,所以我們需要使用root身份執(zhí)行。但是我們只想執(zhí)行一次,而不想切換身份,可以做到嗎?當(dāng)然可以,命令如下:

[opsbugs@localhost ~]$ whoami
opsbugs
#當(dāng)前用戶為opsbugs
[opsbugs@localhost ~]$ su - root -c `useradd user1`
Password: 
#不切換成root,但是執(zhí)行useradd命令添加user1用戶
[opsbugs@localhost ~]$ whoami
opsbugs
#當(dāng)前用戶還是opsbugs
[opsbugs@localhost ~]$ grep `user1` /etc/passwd
user1:x:1001:1001::/home/user1:/bin/bash
#user1用戶已經(jīng)添加了
責(zé)任編輯:趙寧寧 來(lái)源: Linux運(yùn)維部落
相關(guān)推薦

2010-03-10 15:44:04

2025-07-29 02:00:00

2025-06-04 08:20:00

Compressor前端開發(fā)

2025-09-26 02:00:55

JDKCPU內(nèi)存

2025-09-29 01:50:00

2023-10-30 08:53:36

Python輸入輸出

2010-07-22 09:25:09

telnet命令

2024-09-06 17:45:55

Linux磁盤

2025-07-09 07:10:00

2025-07-17 13:52:57

通配符Linux命令行

2025-10-09 01:33:00

2025-07-25 09:24:16

2025-03-24 09:57:19

2024-07-03 11:08:43

2023-06-28 11:49:56

Linux命令

2025-06-23 10:20:00

開源機(jī)器學(xué)習(xí)PyTorch

2023-11-08 08:32:16

2025-01-16 10:11:58

2025-08-05 07:26:06

2018-09-04 10:04:13

Linux命令sudo
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)