Linux用户切换命令区别详解

1. su

  • 作用:默认切换到 root 用户(需要输入 root 用户的密码)。

  • 环境变量:保持当前用户的环境变量和工作目录(不加载 root 的配置文件如 ~/.bashrc 或 ~/.profile)。

  • 示例

  • 2. su root

  • 作用:等同于 su,明确指定切换到 root 用户(与 su 完全一致)。

  • 环境变量:同 su,不加载 root 的环境变量。

  • 示例

        

3. sudo su (临时提权)

  • 作用:通过 sudo 权限切换到 root 用户(需要输入当前用户的密码,而不是 root 密码)。

  • 环境变量:保留当前用户的环境变量(除非结合 -)。

  • 适用场景:适用于系统配置为禁止直接使用 su(如 Ubuntu),允许通过 sudo 提权。

  • 示例

        

4. su -

  • 作用:切换到 root 用户,并模拟完整的登录环境(类似重新登录)。

  • 环境变量:加载 root 的环境变量(如 /root/.bash_profile),并切换工作目录到 /root

  • 适用场景:需要完全以 root 身份操作(如安装全局软件、修改系统配置)。

  • 示例

        

5. sudo su -

  • 作用:通过 sudo 权限切换到 root,并加载完整的登录环境。

  • 环境变量:同 su -,加载 root 的环境变量。

  • 适用场景:需要以 root 身份运行完整环境,但不想知道 root 密码(依赖 sudo 权限)。

  • 示例

        

6. su user

  • 作用:切换到指定用户(如 user),需要输入目标用户的密码。

  • 环境变量:保留当前环境变量,不加载目标用户的配置文件。

  • 示例

        

对比总结

命令目标用户密码需求环境变量适用场景
surootroot 密码当前环境临时切换为 root,保留当前环境
su rootrootroot 密码当前环境同 su
sudo suroot当前用户密码当前环境无 root 密码时提权(需 sudo 权限)
su -rootroot 密码root 环境完全以 root 身份操作系统
sudo su -root当前用户密码root 环境同 su -,但依赖 sudo 权限
su useruser目标用户密码当前环境临时切换为普通用户

使用建议

  • 需要完整环境:用 su - 或 sudo su -

  • 临时提权:用 sudo su(无需知道 root 密码)。

  • 切换普通用户:用 su user 或 su - user(加载环境)。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值