Toda conta em um sistema Unix / Linux possui um identificador numérico, o "ID do usuário" ou o UID. Por convenção, o UID 0 (zero) é chamado de "root" e recebe privilégios especiais (geralmente, a permissão para acessar qualquer coisa no sistema).
Você poderia apenas efetuar login como usuário root diretamente, se você tiver a senha root. No entanto, geralmente é considerado uma prática ruim fazê-lo.
Por um lado, é frequente o Unix / Linux dar-lhe bastante espaço para atirar no próprio pé sem segurança - existem muitos erros de digitação e acidentes, dos quais a recuperação é mais fácil. faça uma reinstalação completa e / ou restaure a partir do backup. Então, ter que realmente mudar para root quando você precisa evitar que você acidentalmente faça algo que você não queria fazer.
Também ajuda a limitar a propagação de malware. Se o seu navegador está rodando sob o UID 0 - "como root", dizemos - então um bug de programação pode ser explorado por sites remotos para ter controle total sobre o seu computador. Manter uma conta de usuário "normal" limita esse dano.
Ambos seguem uma boa prática geral chamada "o princípio do menor privilégio" - o que, honestamente, é uma coisa boa a se seguir no design do sistema em geral. Você pode ler mais em específico sobre razões para nem sempre ser executado como root em Concern sobre o login como root superestimado? Agora, isso deixa a questão de como você pode ter acesso a itens protegidos como um usuário não-root. Existem duas maneiras básicas - su
e sudo
. O primeiro requer a senha de root, e o segundo, na configuração usual, requer a sua senha. Geralmente, é o caso de você usar sudo
para executar um único comando "como root", em vez de alternar para a conta raiz durante uma sessão inteira. (Você também pode fazer isso com su -c
, algo que você verá frequentemente na documentação.) Para uma longa discussão dos méritos relativos destes, veja Qual é a maneira mais segura de obter privilégios de root: sudo, su ou login? . (E, para completar, existem outros mecanismos que não são sudo mas funcionam da mesma maneira, como o PackageKit, normalmente usado para aplicações GUI.)
Você pergunta se os termos "root", "superuser" e "administrator" são os mesmos. "Root" e "superusuário" basicamente são. Para ser preciso, pode-se dizer: "A conta root
é o superusuário , porque tem UID 0."
"Administrador" poderia significar a mesma coisa, mas no Fedora, nós * o usamos de uma maneira um pouco diferente. Nem todo usuário no sistema tem o poder de obter privilégios de root via sudo. No Fedora na configuração padrão, os membros do grupo wheel
podem fazer isso. E, no instalador e na documentação e em outros lugares, chamamos isto de uma "conta de administrador". Um que não é root, mas tem o poder de acessar privilégios de root.
(Ah, e uma última coisa: que #
vs $
no seu prompt é apenas uma convenção visual e não é definitivo. Você pode alterar a variável de ambiente PS1
para fazer o prompt fazer todos os tipos de coisas.)
* Eu trabalho no Fedora.