开启一个临时具有管理员权限的 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
用户环境,适合复杂操作。