Se você precisar fazer algo que exija privilégios de root, precisará usar algum método de obter privilégios de root, que na maioria dos sistemas modernos significa su
, sudo
ou um wrapper em torno de um desses. O que é perigoso sobre a execução de comandos como root (seja com su
ou sudo
) é que ele oferece muito mais maneiras de danificar seu sistema. Portanto, você só deve executar um comando como root quando o comando realmente exigir.
A principal diferença entre su
e sudo
em sua configuração típica é que, para sudo
, você digita a mesma senha de quando faz login, enquanto su
exige uma senha diferente (a senha do root
user). Para uma máquina típica de usuário único, não há diferença significativa entre os dois em termos de segurança. Também é possível configurar sudo
para não exigir uma senha.
Se você estiver trabalhando em um terminal e quiser executar um comando como root, com su
, execute:
su -c 'somecommand an_argument another_argument'
com sudo
:
sudo somecommand an_argument another_argument
De qualquer forma, você será solicitado a fornecer uma senha (a senha raiz para su
, sua própria senha para sudo
). Sudo pode lembrar sua senha e não perguntar novamente pelos próximos minutos; com su
, você terá que digitá-lo novamente a cada vez.
Você também pode obter um prompt gráfico para digitar sua senha (com gksu
, kdesu
,…), mas se você já estiver trabalhando em um terminal, isso é menos conveniente.