Linux中易混淆命令的区别

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

Linux中易混淆命令的区别
文章插图
su用以切换成不同的用户的身份:

Linux中易混淆命令的区别
文章插图
默认只是切换身份,并没有切换环境变量,环境变量依然是普通用户的 。切换用户身份时,用户的环境变量也切换成新用户的环境变量,所以"-"不能省略,不然有些操作无法执行 。su root输入root密码后切换之root用户但是pwd目录不变

Linux中易混淆命令的区别
文章插图
su - root输入root密码后切换之root用户但是pwd目录/root

Linux中易混淆命令的区别
文章插图
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中才可以

Linux中易混淆命令的区别
文章插图
sudo -i 直接运行sudo命令加-i参数要求执行该命令的用户必须在sudoers中才可以

Linux中易混淆命令的区别
文章插图
【Linux中易混淆命令的区别】 sudo su 运行sudo命令给su命令提权,运行su命令 。要求执行该命令的用户必须在sudoers中才可以 。
原文标题:Linux命令su、sudo、sudo su、sudo -i使用和区别
文章出处:【微信公众号:strongerHuang】欢迎添加关注!文章转载请注明出处 。
责任编辑:haq

    推荐阅读