Seu usuário não recebe automaticamente root
powers sendo membro do grupo sudo
. A única coisa que confere é a capacidade para executar sudo
e por acesso root de ganho por proxy.
O Docker está procurando uma das duas coisas: um usuário com poderes de nível de raiz (portanto, apenas a conta de usuário conhecida como root
, que pode ser imitada com sudo
) ou um usuário que seja membro da docker
group.
Se você deseja executar o Docker sem sudo
, é melhor adicioná-lo ao grupo docker
usando o comando abaixo:
sudo usermod -aG docker $USER
Uma nota de aviso embora para isso. Adicionando-se ao grupo docker
, você pode criar um contêiner do Docker que é executado como raiz. Se você conceder acesso a esse contêiner ao disco rígido do seu sistema principal, poderá efetivamente ganhar root sem sudo
. Pense com muito cuidado para garantir que esse risco seja aceitável primeiro. Além disso, certifique-se de executar apenas contêineres confiáveis / auditados. Veja aqui para uma explicação mais completa sobre o que pode dar errado. / p>
Quanto a por que ele é projetado dessa maneira. Em vez de apenas permitir que um usuário execute qualquer comando como root sempre que quiser, eles precisam passar pelo proxy de sudo
. Isso impede que um script mal-intencionado acesse a sua conta de usuário e assuma o controle do sistema inteiro.
Ele também se encaixa no modelo geral de "permissão de isolamento" do Linux. Em vez de executar o tempo todo como um usuário privilegiado, sua operação diária é como um usuário normal sem privilégios, que pode ser escalado conforme necessário. Enquanto você pode rodar como root
24/7, isso é altamente desaconselhável porque tem o potencial de errar muito rápido.
Se você quiser escalar para o usuário raiz para o restante da sua sessão de terminal, basta executar sudo -i
ou sudo -s
. Caso contrário, use apenas sudo
e fique no lado seguro.