sudo su ; sudo root ; sudo - root的区别

本文深入探讨了在Ubuntu虚拟机环境下,如何使用su、sudo和su-root进行用户账号切换,包括它们的区别及工作环境变化,通过实例解析提升用户体验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

     最近在使用qingyun的ubuntu虚拟机做学习,碰到账号切换的问题,归纳一下:

    创建好的ubuntu虚拟机默认有一个ubuntu的用户,也会自己设置密码;创建好后如何切到root呢,只可以sudo su切换完成

   

    1. su与sudo 的区别:

    su 切换到某个用户,并使用该用户的环境变量,输入的是目标用户的密码

   


   sudo su切换到某个用户后工作环境也改变,输入的是当前用户的密码

 


2. su - root 切换后同sudo su一样,工作环境改变,su root则不变

参考:http://www.justwinit.cn/post/4461/


### 切换到 root 用户的 `sudo -su root` 命令用法 在 Linux 系统中,`sudo` `su` 是两个常见的用于切换用户身份的命令,它们可以结合使用来切换到 root 用户。`sudo -su root` 是一种常见的组合,用于切换到 root 用户并启动交互式 shell。 #### 命令解释 - **`sudo`**:允许用户以其他用户(通常是 root)的身份运行命令。默认情况下,使用 `sudo` 时需要输入当前用户的密码,并且该用户必须在 `/etc/sudoers` 文件中被授权使用 `sudo` [^2]。 - **`-s`**:`sudo` 的一个选项,表示以指定用户的身份启动 shell。默认情况下,这会启动 root shell,除非指定了其他用户 [^3]。 - **`su`**:用于切换用户身份的命令。在 `sudo -su root` 中,`su` 作为 `sudo` 的参数出现,表示启动一个交互式 shell [^1]。 - **`root`**:目标用户,表示希望切换到 root 用户。 #### 使用方式 执行以下命令可以切换到 root 用户并启动交互式 shell: ```bash sudo -su root ``` 系统会提示输入当前用户的密码(而不是 root 用户的密码),验证通过后即可切换到 root 用户,并进入 root 的主目录 `/root` [^4]。 #### 示例 ```bash user@hostname:~$ sudo -su root [sudo] password for user: root@hostname:~# ``` 此时,提示符已变为 `root@hostname:~#`,表示当前处于 root 用户环境。 #### 与其他命令的区别 - **`sudo su`**:与 `sudo -su root` 类似,但不会自动进入 root 的主目录,也不会加载 root 的环境变量 [^1]。 - **`sudo -i`**:模拟 root 登录,加载 root 的环境变量并进入 root 的主目录,与 `sudo -su root` 功能相似 [^3]。 - **`su root`**:直接切换到 root 用户,但需要输入 root 用户的密码,而不是当前用户的密码 [^2]。 #### 安全性考虑 - 使用 `sudo -su root` 时,应确保当前用户在 `/etc/sudoers` 文件中被正确配置,否则会提示权限不足 。 - 为了提高安全性,建议在使用完 root 权限后,及时使用 `exit` 命令退出 root 会话 。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值