su、su -、sudo 之间的区别

近日有一事一直困扰着我,作为小白之前使用 CentOS 系统,一直使用 root 账户管理和配置服务器,没有使用过标准账户。最近开始学习 Debian 系统使用标准用户登录到系统,随后使用 su 切换到 root 执行命令时提示未找到命令。在命令前加入 sudo 则可以顺利执行。按照我的理解使用 su 命令已经切换到了 root 账户,理应是有 root 权限执行命令的却提示未找到命令。

su、su -、sudo 之间的区别

经过了解原来这并非我想的那么简单,其中还有玄机。其实 su、su -、sudo 之间是区别,了解了之间的区别就明白我的想法有多单纯,下面就是这个几个命令的区别;

su 切换到用户,不改变当前环境变量,不加指定用户是默认切到 root;简单说当前用户是标准用户 devops 使用 su root 切换到 root 用户,其实系统的环境变量还是标准用户 devops 的环境变量;

su – 切换到指定用户环境变量一并切换,简单说当前用户是标准用户 devop 使用 su – root 切换到 root 用户,环境变量也一起切换到 root 用户的环境变量;

sudo 表示获取临时的 root 权限和 root 环境变量;当前用户切换到 root(或其他指定切换到的用户),以root(或其他指定的切换到的用户)身份执行命令,执行完成后,直接退回到当前用户,而这些的前提是要通过 sudo 的配置文件 /etc/sudoers 来进行授权。

  如果您想获取这篇文章的最新信息,可以收藏此文章,当文章更新时我们会通过邮件通知您!点击下面的 即可收藏 ↓

ExchangeServer 2019 安装记录
上一篇 2025年6月1日 10:15
Linux 怎么把用户加入到 sudoers 这个文件中?
下一篇 2022年4月17日 13:11

相关推荐

分享本页
返回顶部
×

获取邀请码

本站只支持「QQ邮箱」切勿使用其他邮箱!
客服支持 QQ:9412971

邀请码
库存 95
¥ 1.00