Como fazer login como um usuário diferente no terminal?


10

Atualmente, estou logado como um usuário normal no OS X.

Eu gostaria de iniciar uma sessão de terminal e fazer login como usuário foo.

Isso é possível?


11
Você já tentou usar su - foo?
Kraftan

Respostas:


16

Você já tentou usar su - foo?

Atualização com base nos comentários:

O vazio -indica supara fazer um login completo. Isso significa (na página de manual),

O ambiente é descartado, exceto HOME, SHELL, PATH, TERM e USER. HOME e SHELL são modificados como acima. USER está definido para o login de destino. PATH está definido como `` / bin: / usr / bin ''. TERM é importado do seu ambiente atual. O shell chamado é o login de destino e su mudará o diretório para o diretório inicial do login de destino.

Portanto, se você precisar de outras variáveis ​​de ambiente, como DISPLAYabrir programas que usem o servidor de janelas, precisará omitir o vazio -.


O login funciona bem, mas tentei mate myfilee estou recebendo o erro "falha ao conectar-se ao WindowServer". Esta não é uma correção crítica, mas seria ótimo fazer isso funcionar.
macek

2
@macek: Isso ocorre porque não há um Servidor de Janela (aqua) conectado ao terminal. Se o usuário estiver conectado no momento no ambiente gráfico, tente open -a TextMate myfile.
Georg Schölly

11
@macek: Não tenho certeza, mas talvez su foopossa fazê-lo. Omitir o -mantém as variáveis ​​de ambiente dos valores.
Kraftan

Obrigado pela ajuda. @ kraftan, talvez atualize a resposta para incluir os dois com uma breve explicação. :)
macek

@ Georg, isso não parecia funcionar.
macek

0

No MacOS X, use login


$ login
login: your username
senha: your password
Último login: Dia Mês Data HH: MM: SS em ttys000
$ whoami
seu nome de usuário

Eu estava tendo problemas para executar nanodepois de usar su - admin para editar um .bashrcarquivo. Ao ajustar o tamanho da janela, o texto fica distorcido. A resposta que encontrei abaixo explica o motivo e me levou na direção correta.

"O emulador de terminal enviará um sinal de mudança de janela (SIGWINCH) para o shell que foi iniciado junto com o emulador de terminal. O shell deve transmiti-lo aos filhos - mas quando você fizer a transição para outra conta de usuário (usando su ou não), ele não será capaz de sinalizar esse shell porque está sendo executado como um usuário diferente, portanto o shell su'd e quaisquer programas executados continuarão usando o tamanho da janela antiga, alheio ao fato de que a janela real tamanho mudou. " - telcoM


-1

Eu tentei sumuitas vezes, mas achei sudomais fácil. Podes tentar

sudo -u <username>

Meu sudo não parecem ter uma -uopção
Xiao
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.