开启一个临时具有管理员权限的 shell,这样在这个 shell 中运行的所有命令都会自动拥有 sudo 权限,而无需每次输入 sudo。
注意:提升了权限,请谨慎操作!,提升了权限,请谨慎操作!,提升了权限,请谨慎操作!
以下是几种方法的区别和使用方式:
1. sudo -s (开启一个管理员权限的交互式 shell)
sudo -s
- 作用:临时以当前用户的环境变量和权限运行命令,但具有
sudo权限。 - 特点:
- 不会切换用户,但会提升为管理员权限。
- 继承当前用户的环境变量,比如
HOME。 - 可以直接执行后续的命令而无需重复输入
sudo。
示例:
sudo -s
cd /dic # 现在可以进入需要权限的目录
ls -l
2. sudo -i (模拟 root 用户登录环境)
sudo -i
- 作用:切换到
root用户的环境,并打开一个管理员权限的 shell。 - 特点:
- 不仅提升权限,还切换到
root用户。 - 环境变量也切换到
root用户的设置。 - 类似于完全登录到
root用户。
- 不仅提升权限,还切换到
示例:
sudo -i
cd /dic # 现在以 root 用户身份进入
ls -l
3. sudo su (切换到 root 用户)
sudo su
- 作用:切换到
root用户,功能类似于sudo -i。 - 特点:
- 切换到
root用户,但环境变量不一定完全模拟root用户的环境(这取决于系统配置)。 - 常用,但推荐使用
sudo -i,因为更安全且环境更一致。
- 切换到
4. 延长 sudo 缓存时间
如果你想减少重复输入 sudo 密码的频率,可以调整 sudo 的缓存时间。默认情况下,sudo 会缓存 15 分钟内的密码。
修改方法:
- 编辑
sudoers文件:
sudo visudo
- 添加或修改如下内容:
Defaults timestamp_timeout=30
- 这里的
30表示密码缓存时间为 30 分钟。
临时延长权限:
在使用一次 sudo 后,可以运行以下命令保持权限活动:
sudo -v
这会刷新 sudo 缓存时间。
总结
如果你需要频繁使用管理员权限,推荐使用:
sudo -s:保持当前用户环境,方便又安全。sudo -i:完全切换到root用户环境,适合复杂操作。
