Essa é a principal maneira de conceder permissões no unix, sim.
A ideia é que você normalmente não teria 20 grupos para os 20 arquivos diferentes e adicionaria os usuários a todos os 20 grupos. Em vez disso, se você tiver alguns usuários que precisam acessar vários arquivos, adicione um grupo um contendo esses usuários e todos os 20 arquivos pertencentes a esse grupo.
A vantagem de usar grupos em vez de adicionar usuários únicos é em uma organização, onde as pessoas ganham ou perdem privilégios à medida que mudam de emprego. Então, em vez de adicionar ou removê-los de um grande número de arquivos, basta adicionar ou removê-los de um grupo.
No entanto, para os casos em que o usuário normal / grupo / outros privilégios não são flexíveis o suficiente para suas necessidades, existe uma alternativa chamada Lista de Controle de Acesso ou ACLs. As ACLs concederão ou revogarão permissões para usuários ou grupos, além das permissões de usuário / grupo de estilo antigo.
Para adicionar um usuário à ACL de um arquivo, use setfacl
. Exemplo:
setfacl -m u:lisa:r /path/to/file
concederá ao usuário "lisa" acesso de leitura ao arquivo.
Há mais informações nas páginas man de setfacl
e getfacl
.