Linux - 使用“su -”但保留当前目录

Linux - 使用“su -”但保留当前目录

当我执行su -此操作以转到 root 时,我的当前目录被设置为 root 的主目录。有没有办法保留我所在的当前目录,就像这样sudo -s。还是答案是使用 sudo?

答案1

如果可能,最好使用 sudo,因为这样您就不需要知道(或告诉别人)root 的密码。将 root 密码设置为长而可怕的密码,然后将其锁在保险箱中。

如果您稍后想要拒绝某人的访问权限,只需删除他们对 sudo 的访问权限,而不必向其他所有人传授新的 root 密码。

但是,如果您不想使用“-”参数,则无需使用。您将获得一个 root 身份的 shell,但它不会是登录外壳(因此它不会运行 root 的 .profile。)

答案2

我同意 sudo 几乎总是更好的答案,但要回答问题的另一部分......

“su -”中的“-”表示您想要模拟超级用户登录,而不仅仅是以超级用户权限运行。

如果您使用普通的“su”而不是“su -”,您将停留在同一目录中;但是您也将在相同的环境中运行,因此可能需要修改您的路径来访问一些管理命令。

答案3

如果您使用su时不带-,它会将您保留在当前目录中。 --l或者--login 告诉 su :

提供与用户直接登录时所期望的类似的环境。

或者直接使用 sudo,它还有很多其他优点。或者 ssh 密钥。

答案4

您绝对应该使用 sudo。

苏米
-m(-p):不重置环境变量(一般不推荐)

当您更改为 root 时,这将使您保留在该文件夹中。

使用 sudo 的好处

相关内容