阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Linux下su与su -命令的本质区别

59次阅读
没有评论

共计 597 个字符,预计需要花费 2 分钟才能阅读完成。

导读 大部分 Linux 发行版的默认账户是普通用户,而更改系统文件或者执行某些命令,需要 root 身份才能进行,这就需要从当前用户切换到 root 用户。Linux 中切换用户的命令是 su 或 su -。前天我在使用 useradd 这个命令时,才体会到这两者的本质区别。
su 与 su - 命令的本质区别

我首先是用 su 命令切换到 root 身份的,但是运行 useradd 时,出现错误:bash: useradd: command not found。google 了一下,原因是在这个用 su 命令切换过来的 root 用户上。

Linux 下 su 与 su - 命令的本质区别

su 命令和 su - 命令最大的本质区别就是:前者只是切换了 root 身份,但 Shell 环境仍然是普通用户的 Shell;而后者连用户和 Shell 环境一起切换成 root 身份了。只有切换了 Shell 环境才不会出现 PATH 环境变量错误。su 切换成 root 用户以后,pwd 一下,发现工作目录仍然是普通用户的工作目录;而用 su - 命令切换以后,工作目录变成 root 的工作目录了。用 echo $PATH 命令看一下 su 和 su - 以后的环境变量有何不同。以此类推,要从当前用户切换到其它用户也一样,应该使用 su - 命令。

Linux 下 su 与 su - 命令的本质区别

Linux 就是这样,有时候配置文件多了或者少了一个空格,服务就运行不了。细节问题一定要注意,这样才能少走弯路!

阿里云 2 核 2G 服务器 3M 带宽 61 元 1 年,有高配

腾讯云新客低至 82 元 / 年,老客户 99 元 / 年

代金券:在阿里云专用满减优惠券

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2024-07-24发表,共计597字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中