Qual é a distinção entre:
sudo su -
e
su -i
e onde um seria preferido sobre o outro?
-, -l, --login Start the shell as a login shell with an environment similar to a real login: o clears all the environment variables except TERM and variables specified by --whitelist-environment o initializes the environment variables HOME, SHELL, USER, LOGNAME, and PATH o changes to the target user's home directory o sets argv[0] of the shell to '-' in order to make the shell a login shell
e
su - run a command with substitute user and group ID
trechos da man su
página.
Não há
-i
argumento para osu
comando, então a diferença seria que um funciona e o outro não.Se você quis dizer
su -l
, ainda não funciona por padrão em uma caixa do Ubuntu, pois aroot
conta está bloqueada e não há senha para inserir.Não há diferença entre os argumentos
-
e .-l
Ambos são variações da mesma opção. Você realmente incluiu a linha daman
página que nos diz isso em sua pergunta.A diferença entre usar o argumento
-
,-l
ou--login
(são todos iguais) e não usar nenhum argumento é explicada principalmente no trecho que você incluiu em sua postagem. Esta parte diz o que faz sem o argumento:Observe que
su
não é apenas pararoot
. Não significa superusuário como faz com osudo
comentário. Significa usuário substituto e você pode especificar o usuário que deseja usar como argumento para executar um comando como esse usuário