0

su、su -、sudo 之间的区别

 2 years ago
source link: https://devops.chat/12156.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

2020043012052331.png

su、su -、sudo 之间的区别

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

su、su -、sudo 之间的区别-DevOps

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

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

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

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

点点赞赏,手留余香

给TA打赏
本站积分可以通过签到或者购买获得;1RMB=10积分

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK