Apenas repetindo as respostas do @ dr01 e do @ OneK porque ambos estão faltando alguns detalhes:
su - username- Solicita que o sistema inicie uma nova sessão de login para o usuário especificado. O sistema exigirá a senha do usuário "username" (mesmo que seja a mesma do usuário atual).
sudo su - usernamefará o mesmo, mas primeiro solicitará que o sistema seja elevado ao modo de superusuário, após o qual sunão solicitará a senha de "nome de usuário" porque um superusuário pode mudar para qualquer outro usuário sem saber sua senha. Dito isto, sudopor si só reforça a segurança verificando o /etc/sudoersarquivo para garantir que o usuário atual tenha permissão para obter permissões de superusuário e possivelmente verificando a senha do usuário atual.
Eu também gostaria de comentar que, para obter uma sessão de login de superusuário, use sudo -i(ou sudo -s) como sudo su -é bobagem: está pedindo sudopara dar permissões de superusuário para suque supossa iniciar um shell de login para o superusuário - quando sudopode obter o mesmo resultado melhor por si só.
Tendo direitos de superusuário, sudo su - usernamefará o login (em um shell de login) como $usernamesem pedir uma senha, enquanto su - usernamesolicitará a senha de $username.
sudo su - usernamefaz o mesmo que su - username: executa um shell de login como username.
su - usernamerodam como root e sudo su - usernamenão precisam saber a senha do nome de usuário (pois são executados com privilégios elevados), enquanto su - usernamerodam como um usuário normal precisa saber.
Apenas repetindo as respostas do @ dr01 e do @ OneK porque ambos estão faltando alguns detalhes:
su - username
- Solicita que o sistema inicie uma nova sessão de login para o usuário especificado. O sistema exigirá a senha do usuário "username" (mesmo que seja a mesma do usuário atual).sudo su - username
fará o mesmo, mas primeiro solicitará que o sistema seja elevado ao modo de superusuário, após o qualsu
não solicitará a senha de "nome de usuário" porque um superusuário pode mudar para qualquer outro usuário sem saber sua senha. Dito isto,sudo
por si só reforça a segurança verificando o/etc/sudoers
arquivo para garantir que o usuário atual tenha permissão para obter permissões de superusuário e possivelmente verificando a senha do usuário atual.Eu também gostaria de comentar que, para obter uma sessão de login de superusuário, use
sudo -i
(ousudo -s
) comosudo su -
é bobagem: está pedindosudo
para dar permissões de superusuário parasu
quesu
possa iniciar um shell de login para o superusuário - quandosudo
pode obter o mesmo resultado melhor por si só.Tendo direitos de superusuário,
sudo su - username
fará o login (em um shell de login) como$username
sem pedir uma senha, enquantosu - username
solicitará a senha de$username
.sudo su - username
faz o mesmo quesu - username
: executa um shell de login comousername
.su - username
rodam como root esudo su - username
não precisam saber a senha do nome de usuário (pois são executados com privilégios elevados), enquantosu - username
rodam como um usuário normal precisa saber.