su命令

su命令简介:

英文全称:switch user
作用:用于更换为其他使用者的身份,除 root 外,其它都需要键入该使用者的密码。
使用权限:任何使用者。

语法:

su [-fmp] [-c command] [-s shell] [--help] [--version] [-] [USER [ARG]]

参数:

-f 或 --fast 不必读启动档(如 csh.cshrc 等),仅用于 csh 或 tcsh

-m -p 或 --preserve-environment 执行 su 时不改变环境变数

-c command 或 --command=command 变更为帐号为 USER 的使用者
并执行指令(command)后再变回原来使用者

-s shell 或 --shell=shell 指定要执行的 shell (bash csh tcsh 等),
预设值为 /etc/passwd 内的该使用者(USER) shell

--help 显示说明文件

--version 显示版本资讯

- -l 或 --login 这个参数加了之后,就好像是重新 login 为该使用者一样,
- 大部份环境变数(HOME SHELL USER等等)都是以该使用者(USER)为主,
- 并且工作目录也会改变,如果没有指定 USER ,内定是 root

USER 欲变更的使用者帐号

ARG 传入新的 shell 参数

操作:

登录式切换:会通过读取目标用户的配置文件来重新初始化
su - USERNAME
su -l USERNAME

非登录式切换:不会读取目标用户的配置文件进行初始化
su USERNAME

注意:管理员可无密码切换至其它任何用户;

-c 'COMMAND':仅以指定用户的身份运行此处指定的命令;
### `sudo su` 命令的作用 `sudo su` 命令用于切换到 root 用户或其他指定用户,同时继承目标用户的权限。其本质是先通过 `sudo` 提升权限,再使用 `su` 命令切换用户身份。这种组合命令常用于需要以 root 身份执行多个命令的场景,避免每次执行命令都添加 `sudo` 前缀 [^4]。 ### `sudo su` 与 `su` 的区别 `su` 命令用于切换用户,通常用于切换到 root 用户。使用 `su` 命令时,需要输入目标用户的密码(通常是 root 密码)。而 `sudo su` 则允许当前用户在拥有 `sudo` 权限的前提下,无需知道 root 密码即可切换到 root 用户 [^2]。 ### `sudo su` 的使用方法 1. **切换到 root 用户** 执行以下命令即可切换到 root 用户: ```bash sudo su ``` 此时系统会提示输入当前用户的密码,而非 root 用户的密码。输入正确后,当前终端会话将具有 root 权限 [^1]。 2. **切换到其他用户** `sudo su` 也可以用于切换到其他用户,例如切换到用户 `testuser`: ```bash sudo su - testuser ``` 上述命令中,`-` 表示加载目标用户的环境变量,使当前会话更接近目标用户的真实登录环境 。 ### 使用 `sudo su` 的注意事项 - **安全性问题** 使用 `sudo su` 可能带来一定的安全风险,因为它允许普通用户在无需 root 密码的情况下切换到 root 用户。因此,只有在 `/etc/sudoers` 文件中明确授权的用户才能使用此命令 [^4]。 - **权限管理** 系统管理员应谨慎管理 `/etc/sudoers` 文件,避免不必要的用户获得 root 权限,从而影响系统安全 [^3]。 - **日志记录** 所有通过 `sudo` 执行的操作都会被记录在 `/var/log/secure` 文件中,便于后续审计和排查问题 [^3]。 ### 示例:使用 `sudo su` 切换用户 假设当前用户为 `user1`,需要切换到 root 用户,执行以下命令: ```bash sudo su ``` 系统提示输入密码,输入 `user1` 的密码后,当前终端会切换到 root 用户环境。 如果需要切换到用户 `testuser`,执行以下命令: ```bash sudo su - testuser ``` 此时当前终端会切换到 `testuser` 用户环境,并加载其配置文件。 ### 总结 `sudo su` 是一种常见的权限切换方式,结合了 `sudo` 和 `su` 的功能,允许授权用户在无需 root 密码的情况下切换到 root 或其他用户。尽管该命令在某些场景下非常方便,但其使用应受到严格控制,以防止系统安全风险 [^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值