Estou tentando criar várias contas de usuário com grupos diferentes em uma placa imx6.
Atualmente, nenhum usuário é criado no dispositivo. Por isso, vejo 1000: 1000 como meu usuário padrão: ID do grupo.
O cenário que preciso implementar é o seguinte:
Crie dois grupos: grp1, grp2
Crie três usuários: A, B, C
Usuário A: grupo-grp1 primário,
Usuário B: grupo primário-grp1, grupo secundário-grp2
Usuário C: group-grp2 primário
Além disso, esses usuários devem poder se comunicar por meio de filas de mensagens.
Os usuários (A e B) e (B & C) devem poder se comunicar por meio de filas de mensagens. Os usuários (A e C) não devem poder se comunicar.
Em um programa Servidor / Cliente, eu já defini permissões de arquivo mq_open como (S_IRWXU | S_IRWXG), para que apenas usuários do mesmo grupo possam ser comunicados.
Os passos que segui para criar diferentes utilizadores são:
adduser abc
Isso cria um usuário com uid: guid 1000: 1000 em / etc / passwd
abc:$1$SqakfDG7$cPlfYQT8YmkcvgzazVKvZ/:1000:1000:Linux User,,,:/home/abc:/bin/sh
addgroup grp1
addgroup grp2
O passo acima cria dois grupos em / etc / group como abaixo.
grp1:x:1001:
grp2:x:1002:
Crie o usuário A, B com grp1 e C com grp2
adduser -G grp1 A
adduser -G grp1 B
adduser -G grp2 C
Isso cria o usuário A em / etc / passwd
A:$1$E8MDq2ND$/qU4011IYRaisq7EfJh00/:1001:1001:Linux User,,,:/home/A:/bin/sh
B:$1$l2iSdPAh$ggD5NQAC1nJzbVfNVO/Kk.:1002:1001:Linux User,,,:/home/B:/bin/sh
C:$1$2Y6v67Wz$TYNxHBltTNeCDhAnnAFd3.:1003:1002:Linux User,,,:/home/C:/bin/sh
E em / etc / group
A:x:1003:
B:x:1004:
C:x:1005:
Como você pode ver, os usuários A e B têm o mesmo ID de grupo (grp1) (ou seja, 1001), e meu programa de servidor / cliente é executado com sucesso.
A questão é adicionar o grupo B ao grupo secundário "grp2".
Digitar "id A" "id B" e "id C" me dá:
uid=1001(A) gid=1001(grp1) groups=1001(grp1)
uid=1002(B) gid=1001(grp1) groups=1001(grp1)
uid=1003(C) gid=1002(grp2) groups=1002(grp2)
Tentei adicionar o usuário "B" ao "grp2" usando o comando usermod conforme explicado em Primário e secundário grupos
usermod -a -G grp2 B
mas "id B" não muda
uid=1002(B) gid=1001(grp1) groups=1001(grp1)
Eu até tentei adicionar o usuário "B" aos grupos grp1 e grp2 ao criá-lo pela primeira vez
adduser -G grp1,grp2 B
No entanto, recebo o seguinte erro.
adduser: unknown group grp1,grp2
Alguma ideia do que eu poderia ter feito de errado?
Obrigado muito !!