O que o comando sudo faz?

2

Sou usuário do Windows durante toda a minha vida profissional. Acabei de comprar um MacBook Pro e quero começar a desenvolver com o Ruby on Rails.

Corri em vários guias de instalação que recomendam o uso do comando sudo . Pelo que posso dizer, o comando sudo permite que você execute um comando como administrador.

O que eu não entendo é ... Eu só tenho uma conta de usuário no meu mac, não deveria ser o usuário administrador por padrão?

Por que preciso usar o comando sudo ?

Estou entendendo corretamente o que o sudo faz?

    
por jessegavin 07.09.2010 / 02:33

3 respostas

8

No mac, o usuário que você usa para fazer login não é, por padrão, a conta de superusuário (root). Este é um recurso de segurança ( Menor Privilégio ) que é por design.

Juntamente com esse modelo de segurança, sudo é uma ferramenta fornecida para permitir que usuários regulares (não raiz) executem tarefas raiz caso a caso.

Isso evita toda uma série de problemas, sendo que o menor deles é estragar sua máquina acidentalmente. :)

    
por 07.09.2010 / 02:40
4

Parte da confusão que você está enfrentando é a terminologia. No OS X, há três níveis principais de privilégio de conta que você encontrará:

root (também conhecido como superusuário, administrador do sistema ou sistema): essa é uma conta específica (não apenas um tipo de conta) e geralmente é todo-poderosa. Por exemplo, o root tem acesso total a todos os arquivos no sistema, independentemente de suas permissões. Geralmente, é uma má ideia fazer login como root, portanto, por padrão, a conta é desativada (e, na maioria das vezes, oculta). Isso corresponde aproximadamente ao que você provavelmente está chamando de "Administrador".

Administrador: este é o tipo de conta que você possui; é permitido fazer alterações em todo o sistema, mas geralmente tem que fazer algo especial (ou seja, clicar em um ícone de cadeado e autenticar) para habilitar esse acesso. Por exemplo, se você tentar copiar um arquivo para o qual você não tem acesso de leitura, o Localizador exigirá que você autentique antes de copiar o arquivo. O comando sudo é outro exemplo disso - permite que os administradores promovam a si próprios temporariamente para a raiz.

Utilizador padrão: sem privilégios especiais, não autorizado a mexer com a maioria das definições do sistema ou ignorar restrições de acesso.

Há também uma quarta categoria: as contas gerenciadas são contas padrão que têm "controles dos pais" aplicadas a elas.

    
por 07.09.2010 / 05:02
1

Eu não tenho um Mac, mas eu sou um usuário Unix. Não, você não é o único usuário, você está executando como usuário normal, por motivos de segurança. Imagine que você baixou um programa infectado e o execute como administrador, todo o seu sistema pode estar danificado. Mas se você executá-lo como usuário normal, apenas o seu diretório home pode estar infectado, não o sistema inteiro.

Também impede que você execute algumas tarefas perigosas por falha (por exemplo, rm -rf / *, isso removerá todos os arquivos no seu HDD, até mesmo o sistema)

Você pode usar superusuário para seu uso diário, mas isso é altamente desencorajado.

    
por 07.09.2010 / 02:40