每天学习Linux(16)---su、su - 、sudo的区别

本文详细解析了Linux系统中su、sudo和su-命令的区别,包括它们的功能、工作环境变化和安全性考量。重点阐述了su切换到root用户但不改变环境,su-则切换并进入root环境;sudo提供了更安全的root权限执行方式,通过配置文件进行权限管理,确保操作安全。此外,文章还强调了正确使用这些命令的重要性,避免常见错误。

1、su 和 sudo 的区别:

1.1.共同点:都是root用户的权限;

1.2.不同点:su仅仅取得root权限,工作环境不变,还是在切换之前用户的工作环境;sudo是完全取得root的权限和root的工作环境

2、su、su - 、sudo的区别

su 切换到root用户,但是并没有转到root用户家目录下,即没有改变用户的环境。

su - 切换到root用户,并转到root用户的家目录下,即改变到了root用户的环境。

这个涉及到不同用户下的环境变量的配置。

sudo

通过sudo,我们能把某些超级权限有针对性的下放,并且不需要普通用户知道root密码(sudo用的不是root密码,而是当前用户密码),所以sudo相对于权限无限制性的su来说,还是比较安全的,所以sudo也能被称为受限制的su,另外sudo是需要授权许可的,所以也被称为授权许可的su。

sudo执行命令的流程是当前用户切换到root(或其他指定切换到的用户),然后以root(或其他指定的切换到的用户)身份执行命令,执行完成后,直接退回到当前用户,而这些的前提是要通过sudo的配置文件/etc/sudoers来进行授权。

sudo的配置文件是/etc/sudoers,我们可以用他的专用编辑工具visodu来进行配置,配置好后,可以切换到您授权的用户下,通过sudo -l来查看哪些命令是可以执行或禁止的。

之所以把这三个命令拿出来,是要提醒自己这三个命令是有区别的,在使用时遇到错误就要仔细想一下。

至于怎样配置使用sudo,一般不做服务器管理应该用不到,这里不做详细介绍,需要的时候可以去学习。

转载于:https://www.cnblogs.com/epipremnum-aureum/p/4663155.html

### 切换到 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、付费专栏及课程。

余额充值