Como um grupo pode possuir um arquivo?

6

Quando eu faço ls -l , dois dos campos são nome de usuário do proprietário e nome do grupo proprietário.

O nome de usuário é claro - eu criei o arquivo, ele é meu. No entanto, a entrada do grupo me confunde. Meu usuário é membro de vários grupos. O que é tão especial sobre o grupo com o mesmo nome que o meu nome de usuário, que ele possui arquivos recém-criados e não algum outro grupo, por exemplo sudoers.

    
por Vorac 07.08.2013 / 12:12

3 respostas

5

A entrada do grupo vem do seu grupo principal, que, por padrão, é o mesmo que o seu nome de usuário.

A new user is assigned to his/her own group which contains only him, hence its called private group. So, until a user deliberately changes the group ownership of a file, it will belong to the user as owner and private group as group owner. http://linuxers.org/article/difference-between-primary-and-secondary-groups-linux

    
por 07.08.2013 / 12:26
3

Entre os metadados mantidos pelos sistemas unix tradicionais para um arquivo, há:

  • um ID do usuário que identifica o proprietário do arquivo;
  • um ID de grupo que identifica o grupo que possui o arquivo;
  • bits de permissão para o usuário, para o grupo proprietário e para outros.

O único efeito do ID do grupo de um arquivo (exceto para diretórios conforme descrito abaixo) é determinar as permissões efetivas. Quando um processo tenta acessar um arquivo:

  • se esse processo estiver sendo executado como o usuário que possui o arquivo, as permissões de usuário serão aplicadas;
  • caso contrário, se o processo tiver o grupo que possui o arquivo como um de seus grupos efetivos ou complementares, as permissões do grupo serão aplicadas;
  • caso contrário, aplicam-se as permissões "outros".

Muitos unices modernos suportam listas de controle de acesso que se estendem a essas regras.

Quando um arquivo é criado, seu proprietário é definido como o ID do usuário efetivo do processo que o criou. Uma das duas regras é aplicada para determinar o grupo que possui o arquivo:

  • Semântica do BSD: o arquivo pertence ao grupo que possui o diretório;
  • Semântica do System V: o arquivo pertence ao ID do grupo efetivo do processo que o criou.

O Linux e muitos outros unices modernos aplicam a semântica do System V, a menos que o grupo tenha o setgid conjunto de bits, no qual caso semânticas BSD são aplicadas. O proprietário e o grupo podem, é claro, ser alterados posteriormente com chown ou chgrp .

Normalmente, o ID do grupo efetivo de um processo é o grupo principal do usuário que iniciou o processo. Este é o grupo listado em /etc/passwd , se estiver usando um banco de dados do usuário local. No Linux, você pode ver com getenv passwd $USER onde $USER é seu nome de usuário (ou qualquer outro nome de usuário). O ID do grupo principal é o quarto campo delimitado por dois pontos.

Dependendo da sua distribuição, por padrão, todos os usuários estão no mesmo grupo (comumente chamado de users ) ou cada usuário recebe seu próprio grupo com o mesmo nome do usuário. Geralmente, as redes corporativas classificam os usuários em grupos de acordo com o departamento para o qual trabalham ou com qual função eles têm, por exemplo, accounting , it , students , etc.

    
por 08.08.2013 / 02:53
1

Você está perguntando como ou por que ?

Você pode alterar a permissão do grupo usando chown :mygroup myfile , embora mais comumente chown myuser:mygroup myfile .

Por que é mais complicado, mas envolve a capacidade de definir permissões para um grupo que pode conter muitos usuários. Um exemplo disso é o grupo wheel que [frequentemente] recebe permissões no arquivo sudoeors para executar sudo .

    
por 07.08.2013 / 12:23

Tags