A maneira de fazer isso, conforme descrito na pergunta, está correta:
$ sudo adduser bob alice
No entanto, você não verá as alterações imediatamente: todos os processos e serviços em execução no momento devem ser reiniciados para que eles vejam as alterações.
Isso ocorre porque, quando você atualiza os grupos, as permissões dos processos e serviços em execução no momento, incluindo o shell, não são atualizadas. Portanto, no meu caso, groups
(o shell atual foi iniciado por bob
antes dos grupos serem alterados) e groups bob
(permissões atuais do usuário bob
) mostraram resultados diferentes:
$ whoami
bob
$ groups bob # current membership of bob
bob alice
$ groups # shell run by bob BEFORE the groups changed
bob
$ cd /home/alice/dir
bash: cd: test: Permission denied
Então eu tive que fechar o shell, e até mesmo fechar o túnel (eu estava conectado à caixa do Ubuntu através de um túnel SSH) e abrir um novo shell (depois eu me conectei ao SSH novamente) e então vi
$ whoami
bob
$ groups bob
bob alice
$ groups # current shell run by bob AFTER the groups changed
bob alice
$ cd /home/alice/dir
$ pwd
/home/alice/dir
Se bob
for um serviço, como apache2
(em execução no usuário www-data
), esse serviço será reiniciado!