linux su && su - && sudo && sudo- 的区别
linux su && su - && sudo && sudo- 的区别
之前一直对su,su-,sudo,sudo -不理解,有什么区别呢他们?
在这之前,我们要先明确一个事,就是:
root有最高权限,所以用root切换账号到非root用户的时候,当我们用su\su-\sudo\sudo -的时候他们的区别并不明显,但是当我们切换到一个非root用户,再用上述4个命令切换用户时就能感觉到明显区别了。
区别
下面假设我切换到了xiaoli这个账号,然后分别使用4个命令去切换到用户 liwenchao 感受下:
sudo授权
在这之前,我们记得需要先给xiaoli这个账号授权,如果不授权,xiaoli是没办法 su liwenchao的,会报错
xiaoli is not in the sudoers file. This incident will be reported.
# 授权
echo "xiaoli ALL=(ALL) ALL" >> /etc/sudoers
区别总结
- su: su 进入一个新的账户,例如su liwenchao,需要输入liwenchao的密码,但是仍然保留xiaoli账号下的环境变量
- su-: su - 进入一个新的账户,例如su - liwenchao,需要输入liwenchaode的密码,会切换到liwenchao这个账号下的环境变量
- sudo: 与su不同,su命令用于切换到其他用户身份,而sudo命令则允许授权用户以其他用户的身份执行特定命令,例如 sudo liwenchao 需要输入xiaoli的密码
- sudo -: 这个和上面大同小异,当sudo - liwenchao的时候输入的密码也是xiaoli的密码。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!