学习Linux中“su”和“su  - ”命令的区别

在前面的文章中,我们已经向您解释了Linux中sudo和su命令之间区别 在用户管理策略和用户权限方面,这是用于实现Linux安全性的两个重要命令。

su命令用于切换到另一个用户,换句话说,在正常的登录会话期间更改用户标识 (这是许多Linux用户有时称为交换机(-)用户的原因)。 如果执行时没有用户名 ,例如su - ,默认情况下它将以root用户身份登录。

新的Linux用户面临的共同挑战是理解“su”“su - ”之间的差异。 本文将帮助您简单了解Linux系统中“su”“su - ”的区别。

通常,要成为另一个用户或登录到其他用户,可以调用以下命令,然后提示您输入要切换到的用户的密码。

$ su youcl

在Linux中切换用户

考虑到上面的屏幕截图中的情况,需要注意的是用户youcl保持用户aaronkilik原始登录会话的环境,当前工作目录和可执行文件的路径也保持不变。

因此,当用户youcl尝试列出工作目录(仍然是用户aaronkilik的工作目录)时,会显示错误:“ ls:can not open directory。:Permission denied ”。

但最后,用户youcl可以在运行cd命令之后列出他的主目录,而没有任何选项。

其次,当你用- ,或者-l--login标志调用su时,它会为你提供一个类似于正常登录的登录界面。 下面的所有命令都是相同的。

$ su - youcl
OR
$ su  -l youcl
OR
$ su --login youcl

在这种情况下,用户youcl提供了他自己的默认登录环境,包括可执行文件的路径; 他也登录到他的默认主目录。

以不同的用户登录

重要的是,当你没有用户名运行su时,你将自动成为超级用户。 您将获得root的默认环境,包括可执行文件更改的路径。 你也将登陆根目录:

$ su

另外检查: 如何在Linux中输入Sudo密码时显示星号

我们希望你能找到这篇文章的信息。 您可以通过下面的评论部分提出任何问题或分享您的想法。

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏