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的密码。
posted @   liwenchao1995  阅读(83)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
点击右上角即可分享
微信分享提示