'sudo su`和`sudo fish`之间的区别

时间:2015-01-30 10:10:24

标签: shell ubuntu root sudo fish

我在Ubuntu 14.04中运行fish(Friendly Interactive Shell)作为我的标准终端,而不是bash。

我注意到以下行为,并且不知道,如果这些行为中的任何一个是获得root访问权限的首选行为。

我可以输入命令sudo susudo fish,它会给我超级用户权限。(提示显示为root@ubuntu ~#
这些命令的行为有什么不同吗?

我唯一能理解的是,sudo su使用/root/.config/fish/中的鱼配置,而sudo fish使用我的主目录/home/uloco/.config/fish中的鱼配置。

是否有可能使用sudo fish加密我的系统?如果我使用它,是否会对我的主目录中的文件进行任何所有者更改?

1 个答案:

答案 0 :(得分:0)

  • sudo su执行su就像你是root用户一样,这意味着打开的shell是第6个字段中/ etc / passwd中用户条目中给出的shell。如果您的系统root用户可能是/ bin / fish。该shell作为登录shell执行,因此执行root用户的rc脚本。

执行sudo fish时,应用程序fish(shell)可执行,就像您是root用户一样,但在调用用户的环境中。这就是鱼类rc脚本被执行的原因。

你应该使用哪一个取决于你:

  • 您是否希望root环境就像以root用户身份登录系统一样?然后拨打sudo su。
  • 你想保留你的环境,你的别名和shell rc-scritps中定义的东西?然后用sudo fish。

是否有可能使用sudo fish来加密我的系统?

它只是环境,你没有隐藏任何东西。

如果我使用此文件,是否会对我的主目录中的文件进行所有者更改?

如果您不手动更改内容,则不会。