良许Linux教程网 干货合集 Linux系统中使用是su命令的误区

Linux系统中使用是su命令的误区

root账号因为权限太大,如果使用不当会造成系统错误,严重了还会致使系统瘫痪、崩溃,但是为了安装起见一般都是使用普通账号使用su命令来执行操作,下面良许教程网为大家分享一下Linux系统中使用su命令的误区。

Linux系统中使用是、u命令的误区

su指令

很多朋友在使用该指令时,往往使用如下形式:

例:从一般账号moonlit切换到root账号

$ su

那么这么做有什么不对的地方么?

我们这就来观察下账号切换前后的数据对比。

[moonlit@host ~] $

切换前执行下列语句,查看环境中包含moonlit的变量:

$ env | grep ‘moonlit’

屏幕显示如下:

USER=moonlitMAIL=/var/spool/mail/moonlitPATH=/usr/java/jdk1.7.0_60/bin:/usr/lib64/qt-3.3/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/moonlit/binPWD=/home/moonlitHOME=/home/moonlitLOGNAME=moonlit

执行切换:

$ su

Password:

输入密码后屏幕转换为:

[root@host ~] #

输入#pwd查看当前路径

/home/moonlit

咦,怎么还是在moonlit账号的家目录下?

再输入# env | grep ‘moonlit’

屏幕输出:

USER=moonlitPATH=/usr/java/jdk1.7.0_60/bin:/usr/lib64/qt-3.3/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/moonlit/binMAIL=/var/spool/mail/moonlitPWD=/home/moonlitLOGNAME=moonlit

看到了吧?环境木有变啊。

因为没有改变成root的环境,可能造成很多root指令错误或者无效哦。

想要完全转换用户到root可以用如下指令:

[moonlit@host ~]$ su –

键入root密码后变为[root@host ~]#

#pwd一下:

/root

再# env | grep ‘moonlit’一下:

神马都没有哦。

env一下:

这时候屏幕会将变量全部显示出来,比较多,不一一列举了,可以看到当前的家目录、PATH、MAIL等等已经全部却换为root的变量了。

最后,你可以下达#exit来退出当前root用户返回moonlit。

总结

其实没有-的时候系统是按照non-login shell的方式切换用户的,

而加上-时,系统是按照login shell切换的。

至此关于Linux系统中使用su命令的误区分享结束,大家有任何问题都可以通过评论区将问题提交给我们。

以上就是良许教程网为各位朋友分享的Linux系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你!

137e00002230ad9f26e78-265x300

本文由 良许Linux教程网 发布,可自由转载、引用,但需署名作者且注明文章出处。如转载至微信公众号,请在文末添加作者公众号二维码。
良许

作者: 良许

良许,世界500强企业Linux开发工程师,公众号【良许Linux】的作者,全网拥有超30W粉丝。个人标签:创业者,CSDN学院讲师,副业达人,流量玩家,摄影爱好者。
上一篇
下一篇

发表评论

联系我们

联系我们

公众号:良许Linux

在线咨询: QQ交谈

邮箱: yychuyu@163.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部