Existe alguma diferença entre “sudo su root” e “sudo su - root”? Eu sei -
que faço do shell um shell de login, mas que diferença isso faz? A permissão varia entre eles ou ocorre alguma alteração na variável de ambiente?
Responder1
Os shells de login são executados ~/.profile
(ou o equivalente específico do shell: .login
for *csh
, .bash_profile
, .zshprofile
, etc.). Sem o -
, apenas uma configuração interativa específica do shell será executada ( .cshrc
, .bashrc
, .zshenv
;nadapara ash
ou seus derivados, ou para, ksh
a menos que $ENV
seja definido corretamentee sudo
propaga). Observe também que sudo
pode ser configurado como ele define $HOME
, o que determina se são os dotfiles da conta de destino ou os seus próprios que são usados (os derivados do Debian usam o primeiro, o OS X o último por padrão) - mas usar su
junto com ele substituirá isso para a conta de destino em todos os casos.