Terminal: login (1) ou su (1)?

2

Eu estou no OSX. Pode usar login (1) ou su (1) para se logar como qualquer usuário.

Mas, dois binários para fazer o mesmo trabalho ??

Qual deles consome menos recursos do sistema ?

Qual deles é menos propenso a riscos de segurança ?

Quais diferenças sob o capô ?

[Note, não me importo de ter acesso root. Eu apenas pretendo automatizar o acesso a contas em um multi-usuário, em rede * nix. ]

    
por Ignazio Pupu 16.04.2012 / 22:46

3 respostas

0

login inicia um shell com um ambiente novo, descartando o atual.

su inicia um shell usando o ambiente existente e modifica apenas as variáveis HOME, USER e SHELL.

Por exemplo,

> export foo=bar
> su <username>
> echo $foo
bar

mas:

> export foo=bar
> login <username>
> echo $foo

não imprime nada.

AFAIK, su -l é equivalente a login .

    
por 16.04.2012 / 23:31
2

su (1) irá criar um novo shell com o ambiente atual, e uma vez que você sair do subshell, você retornará ao shell de chamada.

login (1) também criará um novo shell, mas com um novo ambiente.

    
por 16.04.2012 / 22:57
0

Não é exatamente o mesmo trabalho. "su" apenas altera o usuário que possui o terminal atual, "login" (como o nome diz) cria uma nova sessão.

Eu não sou especialista em OSX, mas em todas as considerações de segurança importantes * NIXes é proibir o login direto remoto para root. Deve ser feito apenas por "su" após o login como usuário comum.

    
por 16.04.2012 / 23:00