什么是 sudo -i

什么是 sudo -i

这个命令是干什么的?sudo -i?

我不确定我是否应该只发一个帖子来提出这个问题,但由于我是 Linux 新手,还有很多问题和疑问,所以我决定继续问下去。我想这应该不会有什么坏处。

非常感谢您的帮助:)

答案1

sudo -i以 root 身份启动另一个 bash 会话,并使用该目录/root作为主目录。如果你想进入 root shell,你几乎应该使用sudo -i

要使用当前用户的目录作为主目录,请使用sudo -s切勿从以 启动的 shell 启动 GUI 应用程序sudo -s该过程可能会将一些重要文件的所有权转移给 root 用户,因此您无法再使用它们!因此,使用sudo -i进入您想要从中执行 GUI 应用程序的 root shell。

如果您只想以 root 身份执行程序,请使用sudo program命令行程序和gksudo programGUI 应用程序。

答案2

的行为sudo -i有据可查man sudo(第 137 行某处):

 -i, --login
             Run the shell specified by the target user's password data‐
             base entry as a login shell.  This means that login-specific
             resource files such as .profile or .login will be read by the
             shell.  If a command is specified, it is passed to the shell
             for execution via the shell's -c option.  If no command is
             specified, an interactive shell is executed.  sudo attempts
             to change to that user's home directory before running the
             shell.  The command is run with an environment similar to the
             one a user would receive at log in.  The Command Environment
             section in the sudoers(5) manual documents how the -i option
             affects the environment in which a command is run when the
             sudoers policy is in use.

也可以看看:

相关内容