在 Ubuntu 12.04 上,当我sudo -s
的 $HOME 变量没有改变时,如果我的普通用户是regularuser
,情况是这样的:
$ cd
$ pwd
/home/regularuser
$ sudo -s
# cd
# pwd
/home/regularuser
Run Code Online (Sandbox Code Playgroud)
我很久以前就放弃了 Ubuntu,所以我不能确定,但我认为这是默认行为。所以,我的问题是:
一季度。这是怎么做的?配置在哪里?
Q2。如何禁用它?
编辑: 感谢您的回答,这使事情澄清了一点,但我想我必须添加几个问题,以获得我正在寻找的答案。
Q3。在 Debian 中sudo -s
,将 $HOME 变量更改为/root
. 从我从答案中得到的信息和man sudo
shell 运行的sudo -s
是 中给出的那个/etc/passwd
,对吗?
第 4 季度。但是,在 Ubuntu 和 Debian 上,/etc/passwd
为 root提供的 shell都是/bin/bash
. 在任一系统中,就 $HOME 而言,我找不到.profile
或.bashrc
文件的差异在哪里,因此行为sudo -s
不同。这有什么帮助吗?
当我在“vi”编辑器中编辑文件时,文件的 inode 值正在发生变化。但是当用 cat 命令编辑时,inode 值不会改变。