Por que brew nunca pede uma senha?

3

Sou usuário do Ubuntu há 3 anos e agora mudei para o Mac OS X. Configurei minha conta para ser um usuário administrador e tenho meu próprio espaço em /Users/<my-username> .

Cada vez que eu costumava instalar pacotes no meu Ubuntu, ele pedia minha senha de root e eu tenho que fazer isso prefixando-a com sudo . Mas aqui no OS X, posso simplesmente fazer um brew install . Eu entendo que eu sou um usuário root (tenho direitos de administrador), então eu não preciso usar sudo , mas para iniciar os serviços como mongod , eu tenho que usar sudo . Por quê?

Eu não estou entendendo; Alguém pode explicar?

    
por darxtrix 16.09.2016 / 08:52

1 resposta

3

O Homebrew não apenas não exige sudo , mas também adverte contra o uso dele.

O Homebrew armazena os arquivos no "espaço do usuário" (em /usr/local branch) e não toca nos diretórios do sistema.

Arquivos executáveis são mantidos em /usr/local/bin , arquivos de configuração em /usr/local/etc , pacotes em /usr/local/Cellar . Nenhum desses diretórios requer permissões administrativas para gravar arquivos (por padrão, um proprietário e membros do grupo admin têm permissões completas para esses diretórios).

No Ubuntu você é solicitado para permissões administrativas, porque os pacotes instalados pelo APT armazenam seus arquivos e configuração nos diretórios do sistema (como /etc , /usr/bin ) que por padrão não permitem serem modificados por um usuário comum.

Por outro lado, se você executar um programa, ele poderá exigir permissões administrativas para executar determinadas ações (como se registrar como um serviço). Esse requisito é separado dos direitos de leitura / gravação de arquivos (pertencentes ao pacote) e, nesses casos, o Ubuntu e o Mac OS X exigem sudo .

    
por 16.09.2016 / 08:57