您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
# Linux命令su、sudo、sudo su、sudo -i使用方法和区别是什么
在Linux系统中,权限管理是系统安全的核心环节。`su`、`sudo`、`sudo su`和`sudo -i`是四种常用的权限切换命令,它们在功能和使用场景上既有重叠又有显著差异。本文将详细解析它们的用法、区别及适用场景。
---
## 一、su命令:切换用户身份
### 基本语法
```bash
su [选项] [用户名]
选项 | 作用 |
---|---|
- |
模拟完整登录环境 |
-c |
以目标身份执行单条命令 |
su - # 切换到root并加载环境变量
su -l user1 # 完整切换到user1用户
su -c "ls /root" user1 # 以user1身份执行命令
-
会加载目标用户的profilesudo [选项] 命令
/etc/sudoers
定义权限规则,建议通过visudo
编辑
sudo apt update # 以root身份执行
sudo -u user1 whoami # 以user1身份执行
/var/log/auth.log
sudo su
等价于:
sudo su - root
sudo
获得root权限su
切换到root用户对比项 | sudo su | su |
---|---|---|
密码要求 | 当前用户密码 | root密码 |
权限来源 | sudoers配置 | 直接认证 |
环境变量 | 取决于是否加- |
同上 |
sudo -i [选项]
sudo su -
)/root/.bashrc
等)选项 | 作用 |
---|---|
-u |
指定目标用户(默认root) |
sudo -i # 获取root的完整环境
sudo -i -u user1 # 模拟user1登录
命令 | 认证密码 | 环境加载 | 权限来源 | 典型使用场景 |
---|---|---|---|---|
su |
目标用户 | 可选 | 直接认证 | 系统管理员维护 |
sudo |
当前用户 | 不加载 | sudoers配置 | 普通用户执行特权命令 |
sudo su |
当前用户 | 可选 | sudoers+su认证 | 需要root shell但禁用su时 |
sudo -i |
当前用户 | 完整加载 | sudoers配置 | 需要完整root环境时 |
禁用root的su登录
编辑/etc/pam.d/su
:
auth required pam_wheel.so use_uid
sudoers配置原则
user1 ALL=(root) /usr/bin/apt,/usr/bin/systemctl
审计策略
/var/log/auth.log
sudo -l
查看用户权限通过合理选择这四种权限切换方式,可以在安全性和便利性之间取得平衡。理解它们的底层机制,将帮助您更高效地管理系统权限。 “`
注:本文约1150字,采用Markdown格式编写,包含代码块、表格等结构化元素,便于技术文档的阅读和维护。实际部署时可添加更多具体案例或发行版差异说明。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。