sudo 与 su 两个命令的最大区别是:
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中才可以。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
2017-03-24 怎样及时检测出非正常断开的TCP连接(zz)
2017-03-24 如何优雅地关闭一个socket
2017-03-24 TCP连接状态详解
2017-03-24 如何才能正确的关闭Socket连接
2017-03-24 Socket编程中的强制关闭与优雅关闭及相关socket选项
2017-03-24 怎样通过MSG_WAITALL设置阻塞时间,IO模式精细讲解: MSG_DONTWAIT 、 MSG_WAITALL
2016-03-24 virtualbox中ubuntu和windows共享文件夹设置