su 和 sudo -i、su root区别

本文详细解析了Linux系统中su和sudo命令的区别与联系。su命令通过改变进程的有效用户ID为root,允许用户以root权限执行命令,但实际用户ID不变;而sudo-i则完全以root身份执行,同时改变实际用户ID和有效用户ID,且切换到root的主目录。sudo命令则仅在执行特定命令时临时提升权限。

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

su是superuser的前面两字母。
su root=su
like you open an interactive shell in root name,
then only .bashrc will be sourced.
su root和su一样:表示与root建立一个链接,通过root执行命令,其实就是进程的有效用户ID变成了root,unix校验进程的权限都是校验的有效用户ID,进程的实际用户ID还是当前登录系统的用户,主目录也还是当前登录系统的用户的主目录。
sudo -i
just like login as root, then the shell is login shell,
which mean it will expericene a login process,
usually .bash_profile and .bashrc will be sourced
sudo -i表示以root身份登录,进程的实际用户ID和有效用户ID都变成了root,主目录也切换为root的主目录。
sudo 命令
执行该条命令期间,进程的有效用户ID临时更改为root。
原文:参考原文

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值