Recentemente, experimentei problemas estranhos ao criar contas de usuário em PCs Kubuntu 20.04 recém-instalados.
A conta de usuário criada durante a instalação do SO funciona conforme o esperado. É membro de vários grupos:
myself@pc10:~$ groups myself
myself : myself adm cdrom sudo dip plugdev lpadmin lxd sambashare
No entanto, cada usuário adicional (que é criado posteriormente usando as configurações do sistema KDE) não é membro dos mesmos grupos (exceto sudo para contas administrativas):
myself@pc10:~$ groups test
test : test
myself@pc10:~$ groups administrator
administrator : administrator sudo
Um dos efeitos colaterais óbvios é que usuários adicionais não podem alterar nenhuma configuração da impressora sem fornecer uma senha de root (que não existe). Eu acho que haverá mais efeitos colaterais que eu não percebi ainda.
Minhas perguntas:
- Minha suposição está correta de que todos os usuários devem compartilhar as mesmas associações de grupo após a criação?
- Se sim, quais são as possíveis razões para a falta de grupos?
- Existe uma correção limpa? Ou pelo menos uma solução alternativa? (se possível sem corrigir manualmente cada conta de usuário individualmente)
Isso é normal e o padrão para todos os sabores do Ubuntu. Por padrão, os usuários comuns não têm permissão para fazer alterações nos arquivos de hardware/configuração e recebem acesso de gravação apenas aos seus próprios diretórios pessoais. Isso é por design.
Não de acordo com o princípio do privilégio mínimo.
Se você deseja que um usuário tenha permissão para fazer alterações na configuração da impressora, você pode adicioná-lo ao grupo lpadmin com
sudo usermod -aG lpadmin USERNAME
.Para adicionar vários usuários a um grupo em um único comando (de uma resposta a esta pergunta ):
Ou para adicionar vários usuários a vários grupos:
Se você quiser que as associações de grupo adicionais sejam o padrão para novos usuários, edite
/etc/adduser.conf
e remova o comentário da linha#ADD_EXTRA_GROUPS=1
e também remova o comentário e altere a linha que começa#EXTRA_GROUPS=
comEXTRA_GROUPS="lpadmin"
. Você pode listar vários grupos separados por espaços entre aspas.Atualmente, um novo grupo é criado para cada novo usuário. O grupo tem o mesmo nome do usuário e apenas esse usuário como membro. A primeira conta de usuário é especial; ele é adicionado a mais grupos porque aquele é considerado o usuário principal da máquina, de modo que o usuário obtém permissões para usar todos os tipos de hardware ou máquinas virtuais etc.; mas isso não é feito (por padrão) para usuários adicionais criados após o primeiro.
Há muitos anos, havia apenas um grupo chamado users que continha todas as contas de usuário normais, então as permissões de grupo realmente faziam sentido.
Eu acho (não tenho certeza) que foi considerado mais seguro manter essas contas de usuário mais separadas umas das outras, então esses grupos de usuário único foram criados.
Mas nada impede que você adicione todos os usuários adicionais (aqueles que correspondem a contas humanas reais, não pseudousuários) a um grupo de usuários comum; basta criar um e adicionar os usuários a esse.
Como o ID de grupo 1000 provavelmente já foi usado pelo primeiro usuário, você precisa decidir se deseja renomear esse grupo ou se deseja criar um novo com um ID numérico que pode ser mantido constante em várias máquinas.
É perfeitamente seguro editar
/etc/group
manualmente.Observe que o ID do grupo para cada entrada
/etc/password
é o grupo principal desse usuário ; um usuário pode ser membro de qualquer número de grupos, mas qualquer arquivo ou diretório que o usuário criar terá associação ao grupo desse grupo primário, portanto, se você deseja que esses usuários possam simplesmente compartilhar arquivos com base nas permissões do grupo, convém para dar a eles o mesmo grupo primário (usar onewgrp
comando é muito incomum, então não confie nisso).Por fim, se essas pessoas estiverem usando várias máquinas, convém considerar o uso de gerenciamento de usuários centralizado, como o NIS, mas esse é um tópico mais avançado.