Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 什么';这两者之间的区别是什么;sudo-i“;及;sudo su-“;_Linux_Bash_Unix - Fatal编程技术网

Linux 什么';这两者之间的区别是什么;sudo-i“;及;sudo su-“;

Linux 什么';这两者之间的区别是什么;sudo-i“;及;sudo su-“;,linux,bash,unix,Linux,Bash,Unix,这两个命令都将以root用户身份登录。我知道设置的环境设置不同 你用哪一种?哪一种练习更好? i(simulate initial login)选项将目标用户的密码数据库条目指定的shell作为登录shell运行。这意味着shell将读取特定于登录的资源文件,如.profile或.login。如果指定了命令,则通过shell的-c选项将其传递给shell执行。如果未指定命令,则执行交互式shell。sudo试图在运行shell之前更改到该用户的主目录。安全策略应将环境初始化为一组最小的变量,类似

这两个命令都将以root用户身份登录。我知道设置的环境设置不同

你用哪一种?哪一种练习更好?

i(simulate initial login)选项将目标用户的密码数据库条目指定的shell作为登录shell运行。这意味着shell将读取特定于登录的资源文件,如.profile或.login。如果指定了命令,则通过shell的-c选项将其传递给shell执行。如果未指定命令,则执行交互式shell。sudo试图在运行shell之前更改到该用户的主目录。安全策略应将环境初始化为一组最小的变量,类似于用户登录时出现的变量。sudoers(5)手册中的Command-Environment部分记录了在使用sudoers策略时,-i选项如何影响命令运行的环境


su
只有一个目的:启动以给定用户身份运行的shell(
root
默认情况下)

sudo
是一个高度可配置的程序,允许您以任何用户的身份运行任何命令,该配置允许本地管理员限制您可以使用
sudo
运行哪些命令,以及哪些命令需要您的密码


su
是(我相信)一个较老的程序,它允许您做给定用户可以做的任何事情,这通常超出了您的需要
sudo
更安全,因为它可以被定制为只允许您有足够的权限来运行所需的命令,仅此而已。

看看为什么要让program-A运行program-B,而program-A可以做您需要的一切
sudo su
是一种常见的做法,但这是一种常见的做法,因为人们不知道什么更好。这都是真的,但我不确定它是否解决了OP的问题。(作为
sudo-i
的粉丝和仇恨者,
sudo-su
,我很高兴看到被问到的问题,即使论坛选择不恰当)。