【Linux】su与sudo su的区别

sudo = Super user do 超级用户do
su = Shift user 切换用户

1. su

su命令是当前用户用来切换到另一个用户的命令,参数为用户名。执行时会要求输入密码,这个密码是你要切换到的用户的密码。

注意,当你是root用户是,切换到本机的其他任何用户都是不需要输入密码的。

2. sudo su

sudo su命令和su命令相似,都是用来切换用户的。区别就是两个命令需要输入的密码不一样。

sudo su的含义就是要用root权限运行su命令,既然是用root权限运行su命令,那么就不需要输入切换到的用户的密码了。

现在的问题是,你怎么运行sudo命令呢?这取决于你的用户在 /etc/sudoers 文件中的配置。如果当前用户在soduers文件中没有配置,那么sudo这个命令是无法使用的:

xxx is not in the sudoers file.  This incident will be reported.

要把用户加入到soduers中,先切换到root用户,使用命令:

visudo

有一点一定要提,无意中发现一条也别牛掰的命令,本来你如果要从普通用户切换到root用户:

su root 或者 su - 此时你必须要输入root用户的密码,正如上边所讲。
但是如果你使用:

sudo su 这个命令,直接输入当前用户的密码即可切换到root用户。并且如果你的sudo设置而不需要输入密码,就直接切换到root用户了。

另外:用whoami命令查看当前用户,翻译过来就是"我是谁"—你懂的。

注意:如果没有设置使用sudo无需密码,那么每次使用都要输入,此时你输入的既不是root用户的密码,也不是要切换到用户的密码,而是当前使用sudo命令的用户的密码。

此外,sudo su命令不保留原来shell的环境变量。

3. sudo -u -i

如果你需要准确的模拟另外一个用户登录时的初始状态,那么就使用sudo -u -i这个命令。-i这个参数代表"simulate initial login",它将创建合适的命令行窗口,使./.bashrc 和 ./.bash_profile生效,然后引导你进入目标用户的home目录。对于普通用户来说,用处不大,所以很少有人关注它。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

InceptionZ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值