sudo -i和sudo -s

本文详细解析了Linux系统中sudo和su命令的区别与用法,包括sudo-i与sudo-s的具体功能,以及如何在不同用户间切换,特别关注sudo命令的时间限制和su命令的永久切换特性。

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

sudo -i,加载用户变量,并跳转到目标用户home目录;
sudo -s,不加载用户变量,不跳转目录;

 

sudo : 暂时切换到超级用户模式以执行超级用户权限,提示输入密码时该密码为当前用户的密码,而不是超级账户的密码。不过有时间限制,Ubuntu默认为一次时长15分钟。

su : 切换到某某用户模式,提示输入密码时该密码为切换后账户的密码,用法为“su 账户名称”。如果后面不加账户时系统默认为root账户,密码也为超级账户的密码。没有时间限制。
sudo -i: 为了频繁的执行某些只有超级用户才能执行的权限,而不用每次输入密码,可以使用该命令。提示输入密码时该密码为当前账户的密码。没有时间限制。执行该命令后提示符变为“#”而不是“$”。想退回普通账户时可以执行“exit”或“logout” 。 要求执行该命令的用户必须在sudoers中才可以

 
sudo -i 直接运行sudo命令加-i参数        要求执行该命令的用户必须在sudoers中才可以
sudo su 运行sudo命令给su命令提权,运行su命令。 要求执行该命令的用户必须在sudoers中才可以
sudo -i 运行结果 PWD=/root
sudo su 运行结果 PWD=/home/用户名(当前用户主目录)

转载于:https://www.cnblogs.com/wzk-0000/p/11083008.html

### `sudo -i` 与 `sudo -s` 的区别及编辑文件时的权限问题 在使用 `sudo -i` `sudo -s` 切换到 root 权限时,两者的行为有所不同。`sudo -i` 模拟了一个完整的 root 登录环境,包括加载 root 用户的 shell 配置文件(如 `.bashrc`、`.profile` 等),而 `sudo -s` 只是启动了一个具有 root 权限的 shell,并不会完全模拟登录过程[^1]。 因此,在使用 `sudo -i` 后,可以像普通用户一样直接运行 `vim /etc/ssh/sshd_config` 或其他命令来编辑受保护的系统文件,因为此时已经处于 root shell 中,所有操作默认具有最高权限。相比之下,`sudo -s` 虽然也能获得 root 权限,但由于未加载完整的登录配置,可能会导致某些环境变量或别名未生效,影响编辑体验效率[^1]。 当需要编辑 `/etc/sudoers` 或 `/etc/sudoers.d/` 文件时,推荐使用 `visudo` 命令进行修改。这是因为在编辑过程中,`visudo` 会自动检查语法错误,避免因误写导致 sudo 功能失效,从而保障系统的安全性与稳定性。例如: ```bash visudo -f /etc/sudoers.d/myconfig ``` 此命令将打开指定的 sudoers 配置文件,并在保存退出时执行语法验证。 为了限制某些用户通过 `sudo su`、`sudo -i` 或 `su` 获取 root 权限,可以通过修改 `/etc/sudoers` 文件,添加类似以下规则来实现权限控制: ```bash USERNAME ALL=(ALL:ALL) ALL, !/usr/bin/passwd, !/etc/sudoers, !/etc/sudoers.d/*, !/bin/chmod ``` 该规则允许用户使用 sudo 执行任意命令,但禁止其修改 `/etc/passwd`、`/etc/sudoers`、`/etc/sudoers.d/` 下的文件以及调用 `chmod` 命令,以此增强系统安全[^2]。 对于希望创建一个无需密码即可切换至 root 的用户,可以在 root 权限下执行以下命令创建并设置密码: ```bash useradd newuser passwd newuser ``` 随后编辑 `/etc/sudoers` 文件,注释掉 `includedir /etc/sudoers.d` 并添加如下行以赋予新用户免密切换 root 的能力: ```bash newuser ALL=(ALL) NOPASSWD:ALL ``` 这样配置后,`newuser` 就可以直接使用 `sudo -i` 无密码切换至 root shell,同时保留对操作日志的追踪能力[^3]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值