[...] Mas isso não parece fazer sentido, pois estou sempre tendo que inserir o sudo, seja gerenciando pacotes, editando arquivos de configuração, instalando um programa a partir da fonte ou o que você tem. [...]
O adjetivo implícito relacionado a tudo isso é que são mudanças globais ou em
todo o sistema . Você deve considerar as origens do Unix como um sistema multiusuário 1 em que vários usuários usariam a mesma instalação remotamente. Não faria sentido para um usuário leigo permitir alterar as configurações globais para todos os usuários. Era do administrador de sistemas, da raiz, do privilégio e da responsabilidade.
Em uma configuração multiusuário, você tem o software pré-instalado e sua configuração em todo o sistema em /usr
e /etc
respectivamente. Tocar nesses locais exigiria permissões de root. Mas como o software Unix é escrito com vários usuários em mente, você pode compilar e instalar o software no $HOME
diretório 2 e ter seus próprios arquivos de configuração em sua casa, onde é possível editar os arquivos livremente sem ser um superusuário.
Além de instalar seu próprio software em casa, a maioria dos softwares de todo o sistema lê a configuração específica do usuário $HOME
logo após a primeira configuração /etc
. Isso permite que você personalize quase tudo sem precisar ir root
.
Com um PC doméstico, em uma única configuração principal de usuário, você pode usar sudo
e fazer o root do jeito que você gosta. Mas é habitual não tocar na configuração do aplicativo, /etc
mas sempre fornecer configurações específicas do usuário em casa. Dessa forma, você pode permitir que o gerenciador de pacotes redefina as configurações de todo o sistema nas atualizações. Instalar um novo software em todo o sistema é bastante bom na configuração de usuário único; Os pacotes distro não assumem as alternativas, portanto é uma saída fácil.
Vou deixar meu gerenciador de pacotes instalar coisas globalmente, mas todas as coisas compiladas a partir de fontes e feitas por mim que eu deixo de lado $HOME
. E eu não preciso sudo por nada disso.
Se você tiver arquivos de dados, armazenamento externo $HOME
, sinta-se à vontade chown
ou
chgrp
os diretórios com o seu nome para poder acessar os arquivos sem
sudo
.
[1] (levemente irônico, já que o Unix era para ser uma versão de 'usuário único' do sistema operacional Multics)
[2] (se o sistema permitir isso não montando partições domésticas como noexec)
sudo
fazer alguma coisa que envolva mudar o sistema; se você estiver apenas operando em seus próprios arquivos / área de trabalho, não estará afetando ninguém; portanto, não precisará de privilégios elevados. Se você está executando comandos privilegiados sem sudo, você provavelmente já está um super usuário (ou seja, a raiz) e é geralmente menos aconselhável do que usando sudo para as tarefas específicas em todo o sistema