在Ubuntu 12.04上,当我sudo -s
不更改$ HOME变量时,因此如果我的普通用户是regularuser
,情况将如下所示:
$ cd
$ pwd
/home/regularuser
$ sudo -s
# cd
# pwd
/home/regularuser
我很早以前就放弃了Ubuntu,所以不能确定,但是我认为这是默认行为。因此,我的问题是:
Q1。怎么做?配置在哪里?
Q2。如何禁用它?
编辑: 感谢您的答案,这使事情有所澄清,但我想我必须添加几个问题,才能得到我想要的答案。
Q3。在Debian中sudo -s
,将$ HOME变量更改为/root
。从答案中得到的结果和man sudo
运行的shell sudo -s
是给定的/etc/passwd
,对吗?
Q4。但是,在Ubuntu和Debian上/etc/passwd
,root用户指定的shell 是/bin/bash
。在这两个系统中,就$ HOME而言,我都找不到文件.profile
或.bashrc
文件中的差异所在的位置,从而使行为sudo -s
不同。有什么帮助吗?
sudo
,我认为默认情况下确实存在区别。但是,我不敢打赌,因为我在一个盒子上,这个盒子已经由其他人设置,并且已经运行了一段时间。无论如何,对于感兴趣的任何人,我都可以找到security.stackexchange.com/questions/18369/…和bugs.launchpad.net/ubuntu/+source/sudo/+bug/760140。
sudo
在Debian和Ubuntu之间表现出不同的行为几乎是不可能的。