O que os grupos fazem em “Usuários e Grupos”?

13

Eu sei que alguns definem permissões no sistema de arquivos (como www-data). Mas eu não entendo porque esta questão foi respondida com sucesso adicionando um usuário ao grupo "Vídeo".

Então a questão é principalmente o que todos os grupos pré-construídos fazem no Ubuntu? Mais razoavelmente, já que existem tantos grupos "especiais" e como ou quando devem ser usados?

    
por Scaine 13.02.2011 / 20:59

2 respostas

6

Alguns grupos permitem acesso a arquivos ou diretórios, por exemplo: o www-data permite o acesso a arquivos da web ou o adm group a arquivos em /var/log . Este é o uso trivial.

Mas alguns grupos permitem o acesso a determinados dispositivos. Por exemplo, o grupo dialout permite acesso às portas seriais via arquivos em /dev :

$ find /dev -group dialout -exec ls -ld {} \;
crw-rw---- 1 root dialout 4, 64 Jan 19 12:51 /dev/ttyS0
crw-rw---- 1 root dialout 4, 67 Jan 19 12:51 /dev/ttyS3
crw-rw---- 1 root dialout 4, 66 Jan 19 12:51 /dev/ttyS2
crw-rw---- 1 root dialout 4, 65 Jan 19 12:51 /dev/ttyS1

Portanto, se você for membro do grupo dialout , poderá usar as portas seriais lendo e gravando no arquivo do dispositivo: echo "Hello world" > /dev/ttyS0 . O grupo video permite acesso ao hardware de vídeo.

Para descrição de cada grupo, leia o arquivo: /usr/share/doc/base-passwd/users-and-groups.html

EDITAR sobre o primeiro comentário:

Na verdade, geralmente você não precisa estar nesses grupos para "acessar" os recursos de hardware, do ponto de vista do usuário. A prática comum é ter um daemon / servidor gerenciando-o, sendo membro do grupo mais restritivo, permitindo que você acesse o daemon / servidor.

Para o seu caso, ser membro do grupo video permite acesso direto ao hardware gráfico, não através do servidor X. Normalmente, no computador desktop / laptop, é bom ter acesso direto ao hardware gráfico ( glxinfo | grep "direct rendering" ).

Nota lateral, se você tiver renderização direta, mas não for membro do video group ( id | grep --color video ), terá permissão para acessar o hardware por uma acl do arquivo /dev ( find /dev/ -group video -exec getfacl {} \; | grep $USERNAME ).

    
por shellholic 14.02.2011 / 00:48
2

Em geral, o conceito de separação de grupo está relacionado a isso:

link

Parece tolo ter todos esses grupos até você perceber que a alternativa seria um único nível comum de alto privilégio (ex. sudo / root) que seria um pesadelo de segurança.

A maioria dos grupos mostrados em seu post existe para que várias partes do sistema operacional possam acessar funcionalidades comuns com a menor quantidade de privilégios. O usuário não deve se preocupar muito com isso. Durante algumas tarefas administrativas, você pode precisar atualizar seus privs para acessar algumas funcionalidades, e isso geralmente é feito usando o sudo para tarefas curtas e adicionando-se a um grupo específico para tarefas repetitivas.

    
por user10804 14.02.2011 / 07:05