关于CentOS7在root用户下查看环境变量$USER的问题

发布于 2022-09-04 11:06:30 字数 725 浏览 19 评论 0

在CentOS下从普通用户使用su命令切换到root用户后,查看$USER环境变量本应该变为root,可我查看到的仍为普通用户名。
同样的,在Ubuntu中从普通用户切换到root用户后,$USER环境变量显示为root。退出root后$USER变为普通用户名。

CentOS下的操作

CentOS下的操作

Ubuntu下的操作

图片描述

而后又使用root登陆CentOS系统,$USER显示为root,切换到普通用户后$USER变量也能随之变化为普通用户名。操作如下:

root登陆CentOS下的操作

图片描述


想问这种现象出现在CentOS上是为什么呢?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

浅笑依然 2022-09-11 11:06:30

su - username,su后面加个-就行了

直接用su是不完全切换,加-是完全切换,相当于登出重新登录

半世晨晓 2022-09-11 11:06:30

表示不知道怎么采纳答案,点了没反应,只有点旁边的自问自答了。
按照@jokester的提示,我也查看centos man su,里面明确地提到了这种情况。
su命令不会改变当前的目录,并且仅对环境变量HOME和SHELL做设置(如果目标用户非root用户,还会对环境变量USER和LOGNAME进行设置)。
我在非root用户下使用了su命令切换到root,因此,将会更改的环境变量只有HOME和SHELL,没有USER和LOGNAME。

另外,在ubuntu的man里面好像没有提到这个,可能是我阅读太烂。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文