[...] But that doesn't seem to make sense, since I'm always having to input sudo, whether I'm managing packages, editing config files, installing a program from source, or what have you. [...]
O adjetivo implícito relacionado a tudo isso é que eles são todo o sistema ou
global muda. Você deve considerar as origens do Unix como um sistema multiusuário 1 onde vários usuários usariam a mesma instalação
remotamente. Não faria sentido que um usuário leigo permitisse alterar o
configurações globais para todos os usuários. Era privilégio do administrador do sistema, da raiz
responsabilidade.
Em uma configuração multiusuário, você tem o software pré-instalado e seus
configuração de todo o sistema em /usr
e /etc
, respectivamente. Tocando estes
locais exigiriam permissões de root. Mas porque o software Unix está escrito
com vários usuários em mente, você pode compilar e instalar o software em $HOME
diretório 2 , e ter seus próprios arquivos de configuração em sua casa,
onde você pode editar os arquivos livremente sem ser um super usuário.
Além de instalar seu próprio software em casa, a maioria dos sistemas
o software lerá a configuração específica do usuário de $HOME
logo após
primeiro leia a configuração de /etc
. Isso permite que você personalize mais
qualquer coisa sem nunca ir root
.
Com um PC doméstico, em uma única configuração de usuário principal, você pode usar sudo
e fazer o root do seu
caminho para as coisas que você gosta. Mas é costume não tocar na aplicação
configuração em /etc
, mas em vez disso, sempre fornecer configuração específica do usuário em casa.
Dessa forma, você pode permitir que o gerenciador de pacotes redefina as configurações do sistema
Atualizações. Instalar o novo software em todo o sistema é muito bom em um único usuário
configuração; pacotes de distribuição não assumem as alternativas, então é uma saída fácil.
Vou deixar meu gerenciador de pacotes instalar coisas globalmente, mas qualquer
fontes compiladas e coisas feitas por mim deixo em $HOME
. E eu não
tem que sudo por nada disso.
Se você tiver arquivos de dados, armazenamento fora de seu $HOME
, sinta-se à vontade para chown
ou
chgrp
dos diretórios para o seu nome para que você possa acessar os arquivos sem
sudo
.
[1] (um pouco irônico, já que o Unix deveria ser uma versão de 'usuário único' do sistema operacional Multics)
[2] (se o sistema permitir isso, não montando partições iniciais como noexec)