Respostas:
su
significa usuário substituto e, se for chamado sem argumentos, você se tornará o superusuário. Portanto, você deve inserir a senha root.
Isso é impraticável se muitas pessoas precisarem usar comandos para a administração do sistema ou coisas semelhantes com direitos estendidos de usuário. Você simplesmente não quer que as pessoas tenham direitos ilimitados compartilhando a mesma senha root.
A solução para esse tipo de problema é sudo
(" usuário substituto "). Isso permitirá que você especifique os comandos que alguém pode chamar e defina as permissões. Para sudo
você não precisar digitar a senha root, mas a senha do usuário que tenta chamar um comando sudo.
Algumas distribuições têm o usuário root desativado por motivos de segurança. Essa pode ser uma explicação do motivo pelo qual você não pode usar su
. Nesse caso, para obter um shell com privilégios de root, use sudo -s
;-)
$ script
e $ sudo script
? O usuário é o mesmo nos dois casos.
sudo allows a permitted user to execute a command as the superuser or another user, as specified in the sudoers file.
- do homem sudo. Normalmente, o script será chamado com privilégios de root. Essa é a diferença.
O comando su sem opções será o padrão para permitir que você se torne o usuário root. Não está pedindo sua senha, mas a senha root.
O comando sudo sempre pede sua senha.
sudo su -
o traço significa definir o ambiente de acordo com o perfil de login do usuário (neste caso, raiz). Isso geralmente permite um ligeiro aumento na segurança PATH, mas ainda não protege contraecho hi > /dev/my_critical_filesystem