导读 很多新接触Linux的朋友不清楚,su、sudo、sudo su、sudo -i的区别,接下来为大家详细介绍一下。

sudo 命令需要输入当前用户的密码,su 命令需要输入 root 用户的密码。另外一个区别是其默认行为。sudo 命令只允许使用提升的权限运行单个命令,而 su 命令会启动一个新的 shell,同时允许使用 root 权限运行尽可能多的命令,直到明确退出登录。

su 用以切换成不同的用户的身份

默认只是切换身份,并没有切换环境变量,环境变量依然是普通用户的。切换用户身份时,用户的环境变量也切换成新用户的环境变量,所以"-"不能省略,不然有些操作无法执行。

su root 输入root密码后切换之root用户但是pwd目录不变


su - root 输入root密码后切换之root用户但是pwd目录/root

sudo 一般加的是命令
sudo -i root与sudo - root、sudo -i ,sudo - ,sudo root效果相同 提示输入密码时该密码为当前账户的密码 要求执行该命令的用户必须在sudoers中才可以 su需要的是切换后账户的密 用法为“su 账户名称”

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

su :切换到某某用户模式,提示输入密码时该密码为切换后账户的密码,用法为“su 账户名称”。如果后面不加账户时系统默认为root账户,密码也为超级账户的密码。没有时间限制。

sudo -i: 为了频繁的执行某些只有超级用户才能执行的权限,而不用每次输入密码,可以使用该命令。提示输入密码时该密码为当前账户的密码。没有时间限制。执行该命令后提示符变为“#”而不是“$”。想退回普通账户时可以执行“exit”或“logout” 。要求执行该命令的用户必须在sudoers中才可以

sudo -i 直接运行sudo命令加-i参数 要求执行该命令的用户必须在sudoers中才可以

sudo su 运行sudo命令给su命令提权,运行su命令。要求执行该命令的用户必须在sudoers中才可以。

原文来自:https://mp.weixin.qq.com/s?__biz=MzU3NTgyODQ1Nw==&mid=2247495776&idx=3&sn=f1ba02d6aa82fec1702986289e0b321b&chksm=fd1f88e6ca6801f0ccdc5aba1aa640334d6df1117902764d45dcbc10db04f7f2a25e316d4b29&mpshare=1&scene=1&srcid=0920jnJBic5gyBLmIp9m5uaf&sharer_sharetime=1600588895144&sharer_shareid=6f243aebe9fbc3604fa7bbcda4395fb6&key=1fb38d1ad08361bbfe4ce720d95f199d58a088b81cb381b2c60ac65b74e3740430f4e9f8b95c760aef773b87688d840d1ee789927b11f9f41fd2467520ee108c8a5c06922eab277fb36494903644b38f8317515d584083428b2856de79fa3849aa7c257744cc3b6f234601252f7091c414a1ca50729a0d21d5b1405ed55dd4dd&ascene=1&uin=MjE0MDM3ODYyNw%3D%3D&devicetype=Windows+10+x64&version=62090529&lang=zh_CN&exportkey=A8NgJtuZXJgSoQVIkf2Ttqg%3D&pass_ticket=3Bk00eJ1KRhIZGuP%2FF73BQAlNcSI6D8FItJqye4gTAg1gnckO%2Biue7uERTdxhXG9&wx_header=0

本文地址:https://www.linuxprobe.com/sudo-sudo-su.html编辑:王华超,审核员:逄增宝

Linux命令大全:https://www.linuxcool.com/

Linux系统大全:https://www.linuxdown.com/

红帽认证RHCE考试心得:https://www.rhce.net/