Quando você fornece um hífen duplo, a experiência que você terá é idêntica a se você tivesse acabado de executar sudo susem hífen.
Passar um único hífen é idêntico a passar -lou --login. A página do manual sudescreve o comportamento como:
Forneça um ambiente semelhante ao que o usuário esperaria se o usuário efetuasse login diretamente.
Isso inclui definir seu diretório como seu diretório inicial e definir várias outras variáveis de ambiente.
Passar um hífen duplo para um comando geralmente é usado para marcar o final dos sinalizadores da linha de comando e o início dos argumentos que não são sinalizadores. Por exemplo, se você executar, touch -Rreceberá um erro dizendo que -R não é uma opção touch, mas se você executá- touch -- -Rlo, criará um arquivo chamado -R. Isso é verdade para muitas ferramentas de linha de comando ( ls -Rfará uma recursiva lsenquanto ls -- -Rexecutará uma lsem um arquivo ou diretório chamado -R.
Então, para finalizar, quando você passa apenas -- para suele, basicamente ignora --e age como se você não tivesse aprovado nenhuma opção.
sudo su -esudo su -ldifere. Em uma conta na qual eu permito com apenas uma chave e tenho direitos sudo para mudar para outro usuário específico,sudo su -mude o usuário sem problemas, massudo su -lousudo su --loginsolicitarei uma senha sudo, a qual não tenho (embora examinandosudo -lI pode executar/bin/sucom NOPASSWD)