Quaisquer diferenças entre 'su' e 'su -' ao lado do pathing? [duplicado]

4

Eu vejo que su - transforma o shell em um login de su --help . Estou curioso para saber quais são as diferenças entre este e um comando normal su .

Eu sei que parece haver uma diferença nos caminhos, quaisquer outras diferenças ou isso é praticamente a única diferença?

    
por VenomFangs 09.04.2013 / 23:10

4 respostas

3

AFAIK su - simula um login recente, portanto, aciona tudo relacionado ao login, enquanto su simplesmente alterna o usuário para o root.

    
por 09.04.2013 / 23:13
2

diferença eu geralmente encontro é a diferença em variáveis de ambiente. ambiente de mudança, su não. Por exemplo: "su -" pode dar um PATH diferente, acessando outras ferramentas, pode dar outras configurações diferentes para o HOME (~ / .ssh! /. Xauthority etc)

    
por 09.04.2013 / 23:17
1

Um shell de login origina ~ / .profile, se existir. Portanto, isso realmente depende, o que você tem em seu ~ / .profile?

Geralmente são diferenças de variáveis de ambiente, como o PATH, ou o prompt (variável de ambiente PS1), mas obviamente pode haver outras diferenças. Isso realmente depende do que você coloca nos scripts de configuração do shell.

    
por 09.04.2013 / 23:21
0

de man su

   -, -l, --login
          make the shell a login shell

então a próxima pergunta é o que é um shell de login e como ele difere de um shell que não seja de login.

Em man bash em INVOCATION você pode ler uma seção longa e pedante, que se resume a algo como: o shell de login executa o (s) arquivo (s) profile (por exemplo, /etc/profile e ~/.bash_profile ) O shell interativo de não-login executa os arquivos bashrc .

    
por 09.04.2013 / 23:48

Tags