su和sudo的区别

linux中 su和sudo的区别

su和sudo是两个常用的切换到root超级用户命令。功能上类似,但使用上还是有不少差异。

su命令

su是切换到root用户的命令,主要用法如下:
- su:不带参数直接输入su将切换到root用户,需要输入root密码
- su -:等同于 su -l,切换到root用户并开启root的环境变量(等同于root身份登录)
- su -l user-name:切换到其他用户,需要输入该用户的密码。不带其他参数时等同于su - user-name
- su -c ‘cmd’::以root用户执行命令,类似于sudo,不同之处是需要输入root密码
su命令主要是用来切换root身份,前提是需要知道root密码。

sudo命令

ubuntu安装过程中不会设置root密码,默认使用普通账户登录,sudo便是普通账户获取root权限的命令。
sudo和su的区别点主要是:
- su可以不带参数执行,sudo不行。
- sudo命令获取root权限时输入的是用户密码,二su要求输入root密码。
- 只有/etc/sudo/sudoers文件中的用户才能使用sudo命令,任何人都可以使用su命令
- 当root密码未设置时,sudo能获取root权限,su不行
- su可以切换到其他用户登录,sudo只能切换到root用户,sudo su -l user-name的方式可以,但这是su的能力

有了sudo,可以在不泄露(不设置) root密码的前提下让用户执行特权命令,并且sudo提供命令历史记录,能大大提高系统的安全性。
与su不同,sudo命令选项丰富,如下是一些常见用法:
- sudo命令:以root身份执行命令,需要注意的是命令需要默认PATH路径下,否则会出现 sudo: xxx command not found 的错误
- sudo -l:列出可用的命令
- sudo -i: 以root身份登录
- sudo -s: 一般等同于sudo bash,进入root环境,不改变工作目录
- sudo su: 以sudo方式执行su命令,此时输入用户密码就可以了

Ubuntu、MacOS默认没有设置root密码,谷歌云、AWS的VPS默认是普通用户密钥登录,要想切换到root环境,sudo -i,然后输入用户密码便进入到了root环境。

  • 7
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值