七兮技术分享

Linux系统su和sudo命令的区别

20 07月
作者:七兮|分类:运维知识|标签:linux 超级用户 centos ubuntu Linux

susudo是两个最常用的切换到root超级用户Linux命令。虽然看起来很像,功能上也类似,但使用上还是有不少差异。

本文介绍linux系统su和sudo的区别,并分别给出su和sudo命令的常见用法。

su命令

su 是切换到root用户的传统命令,其主要用法是:

  • su:不带参数直接输入su将切换到root用户,需要输入root密码

  • su -:等同于 su -l(建议使用),切换到root用户并启用root的环境变量(等同于root身份登录)

  • su -用户名:切换到其他用户,需要输入该用户的密码。不带其他参数时等同于 su - 用户

  • su -'命令':以root用户执行命令,类似于sudo,不同之处是需要输入root密码

可以看到,su命令主要是用来切换root身份,前提是需要知道root密码。

除了su,另一个切换身份的命令是ssh:ssh [email protected],等同于打开新终端ssh登录

sudo命令

sudo程序很早就出来了,但直到ubuntu的推广才流行起来。Ubuntu安装过程中不会设置root密码,默认使用普通账户登录,sudo便是普通账户获取root权限的命令。

sudosu的区别点主要有:

  1. su可以不带参数执行,sudo不行

  2. sudo命令获取root权限时输入的是用户密码,而su要求输入root密码;

  3. 只有/etc/sudo/sudoers文件中的用户才能使用sudo命令,任何人都可以使用su命令

  4. 当root密码未设置时,sudo能获取root权限,su不行

  5. su可以切换到其他用户登录,sudo只能切换到root用户(sudo su -用户名的方式可以,但这是su的能力)

有了sudo,可以在不泄漏(不设置)root密码的前提下让用户执行特权命令,并且sudo提供命令历史记录,能大大提高系统的安全性,因此实践中建议使用。

和su不同,sudo命令选项丰富,下面介绍一些常见用法:

  • sudo 命令:以root身份执行命令,需要注意的是命令需要默认PATH路径下,否则会出现”sudo: xxx command not found”的错误(试试 sudo ll)

  • sudo -l:列出可用的命令

  • sudo -i:以root身份登录

  • sudo -s:一般等同于sudo bash,进入root环境,不改变工作目录

  • sudo su:以sudo方式执行su命令,此时输入用户密码就可以了

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


本文来自 七兮网络 转载请注明;

本文地址:https://qxhut.cn/?id=184。

本站提供的一切软件、教程和内容信息仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络收集整理,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。如果您喜欢该程序和内容,请支持正版,购买注册,得到更好的正版服务。我们非常重视版权问题,如有侵权请邮件与我们联系处理。敬请谅解!

浏览9907 评论0
返回
目录
返回
首页
linux阿里云卸载云盾/安骑士 某白帽未授权渗透测试政府网站被抓,从中你应该学会什么

发表评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

登录
用户名
密码
注册
用户名
密码
确认密码
邮箱
QQ
验证码
找回密码
用户名
邮箱
※ 重置链接将发送到邮箱
请先 登录 再评论,若不是会员请先 注册