我在Ubuntu14.04中运行fish (友好的交互式Shell)作为我的标准shell,而不是bash。
我注意到了下面的行为,并且不知道,这些行为中是否有一个是获得根访问的首选行为。
我可以输入命令sudo su或sudo fish,这两个命令都会给我超级用户权限。(提示符显示为root@ubuntu ~#)
这些命令的行为有什么不同吗?
我唯一能理解的是,sudo su使用位于/root/.config/fish/中的fish配置,sudo fish在主目录/home/uloco/.config/fish中使用fish配置。
是否有可能使用sudo fish加密我的系统?如果我使用这个,我的主目录中的文件会有任何所有者更改吗?
发布于 2015-01-30 10:50:58
sudo su像根用户一样执行su。这意味着,打开的shell是在/etc/passwd第6字段中的用户条目中给出的shell。如果您的系统是根用户,则可能是/bin/fish。该shell作为登录shell执行,因此执行根用户的rc-脚本。
当您执行sudo fish时,应用程序fish (外壳)是可执行的,就像您是根用户一样,但是在调用用户的环境中。这就是为什么鱼rc-脚本被执行。
请参阅这个答案中的完整解释:'sudo su -‘vs 'sudo -I’vs 'sudo /bin/bash‘-什么时候重要?
您应该使用哪一个取决于您:
sudo su。sudo fish。有可能用苏多鱼来隐匿我的系统吗?
只是环境问题,你不能隐藏什么东西。
如果我使用这个,我的主目录中的文件会有任何所有者更改吗?
如果你不手动改变的话。
发布于 2015-01-30 10:52:03
sudo su改变用户ID或成为超级用户
sudo bashbash -再一次SHell
sudo fishfish -是一个智能的、用户友好的命令行shell,用于OS、Linux和其他家庭成员。

http://en.wikipedia.org/wiki/Unix_shell#Shell_类别
伯恩-再次shell (bash)和友好的交互式shell (fish)都是shell类型。
https://askubuntu.com/questions/579649
复制相似问题