Login como usuário não root no terminal

13

Esta é uma pergunta que eu esperaria obter rapidamente uma resposta do google. No entanto, de alguma forma o google está falhando comigo. Vamos supor que estou logado em uma sessão de terminal e gostaria de trabalhar temporariamente como outro usuário não-root cuja senha eu conheço sem sair da minha sessão. Quando logado como este usuário eu quero o diretório home, etc, para este usuário configurado corretamente até eu sair. Como eu faço isso?

Eu tentei

su -- username

e, em seguida, digitando a senha, ele não produziu nenhum erro, mas eu não vi nenhuma alteração visível no prompt de comando que ainda diria myname @ myhost. O diretório home também era o myname e não o novo login que tentei fazer login.

Eu sou - como é aparente agora - bastante inexperiente no linux / Ubuntu, então qualquer informação é bem vinda.

    
por Andrew Savinykh 16.11.2012 / 06:33

2 respostas

13

Para qual usuário você quer mudar?

O problema é que você está tentando "su" em um usuário que não possui um shell atribuído a ele. A maioria dos usuários, como mysql, pulse, etc, criados pelo sistema ou por alguns pacotes quando você instala o software, não possui um shell atribuído.

Você pode verificar se um usuário tem um shell atribuído olhando o arquivo /etc/passwd , basta olhar para o final da linha de cada usuário, se ele diz que /bin/false significa que ele não tem um shell atribuído , se tiver algo como /bin/bash ou qualquer outro shell, você poderá "su" nesse usuário.

Quando eu digo "shell atribuído", basicamente significa que ele tem "acesso ao shell"

ainda se o usuário não tiver acesso ao shell, você sempre pode executar comandos como aquele usuário com

 sudo -u user command
    
por Sam 16.11.2012 / 06:44
5

se você tiver acesso ao sudo, eu recomendaria

sudo su username -

Faz basicamente a mesma coisa, mas requer apenas que você saiba sua senha e não os outros usuários.

no entanto, se você tiver a senha dos outros usuários:

su username - deve funcionar bem.

observe o 1 - e isso é no final.

    
por coteyr 16.11.2012 / 06:38