Aula #34 - Gestão de Grupos


Os sistemas GNU/Linux possuem 'coleções' de usuários que são chamados de grupos, em que os membros compartilham um objetivo comum. 
O efeito é que os usuários de um mesmo grupo compartilham arquivos, diretórios e privilégios no sistema; 
Adicionar um usuário a um grupo dá a ele poderes no sistema. 



Usuários pertencem a um ou mais grupos no Linux. Os grupos servem para:


  •     Permitir que os usuários compartilhem uma área de trabalho (diretórios, arquivos etc.)
  •     Configurar permissões de arquivos para permitir o acesso aos membros do grupo, mas não a todo o mundo.
  •     Permitir que alguns usuários específicos acessem recursos que não seriam permitidos do contrário. 

Grupos são definidos no arquivo /etc/group, que faz o mesmo para os grupos que o /etc/passwd faz para usuários. Cada linha do arquivo se parece com:

nomedogrupo:senha:GID:usuario1,usuario2,...

onde:


  •     nomedogrupo é o nome do grupo.
  •     senha é o campo da senha. Senhas de grupo podem ser definidas, mas somente se o arquivo /etc/gshadow existir.
  •     GID é o identificador de grupo. Valores entre 0 e 99 são para grupos de sistemas. Os valores entre 100 e GID_MIN (definido em /etc/login.defs ) são considerados especiais. Valores acima de GID_MIN são para os User Private Groups ou grupos privados dos usuários.
  •     usuario1, usuario2, ... é uma lista separada por virgulas dos usuários que são membros do grupo. O usuário não precisa estar listado aqui se este grupo é o grupo principal do usuário. 



Grupos podem ser controlados com:

    groupadd:  Adiciona um novo grupo.
    groupdel:  Remove um grupo.
    groupmod:  Modifica propriedades de um grupo.
    usermod:  Modifica conta de um usuário para inserir ou remover ela em/de um grupo.

Também é possível editar o arquivo /etc/group diretamente, mas é melhor fazer isso usando o vigr que costuma ser um nome diferente para o vipw que vimos anteriormente.

Essas ferramentas de grupo modificam o /etc/group e (caso exista) o /etc/gshadow, e normalmente só o root pode rodar estes comandos.

Exemplos:

$ sudo groupadd -r -g 215 staff


$ sudo groupmod -g 101 blah


$ sudo groupdel newgroup


$ sudo usermod -G student,group1,group2 student


Tenha muito cuidado com o comando usermod -G ; a lista de grupos que é informada é uma lista completa de grupos, e não apenas uma parte incremental. 
O uso não destrutivo deve incluir a opção -a que irá preservar os grupos existentes e adicionar os grupos informados.



O Linux usa Grupos Privados de Usuário (UPG, ou User Private Groups).

A ideia por trás do UPG é que cada usuário vai ter seu próprio grupo. Entretanto, os UPG não são garantidamente privados; membros adicionais podem ser adicionados ao UPG de outro usuário no /etc/group.

Por padrão contas de usuários criadas com o useradd tem: o id do grupo primário GID = UID e o nome do grupo é idêntico ao nome do usuário.

De acordo com o /etc/profile, o umask é (por padrão) configurado para 002 para todos os usuários criados com um UPG. Neste cenário, arquivos são criados com permissões 664 (rw-rw-r--) e pastas com 775 (rwxrwxr-x).  (Vamos falar mais sobre o umask futuramente.)


Um usuário Linux tem um grupo primário listado no arquivo /etc/passwd e também no arquivo /etc/group. Um usuário pode fazer parte de 0 a 15 grupos secundários. 

O grupo primário é o GID(Group ID ou id do grupo) que é usado sempre que o usuário cria arquivos ou diretórios. 
Aparticipação em grupos secundários, concede permissões adicionais ao usuário.

A participação em grupos pode ser identificada por:

$ groups [user1 user2 ...]

$ id -Gn [user1 user2 ...]


Sem argumentos, os comandos vão usar o usuário atual. 

Mais vistos no mês:

As melhores distribuições Linux para 2017

Teste de Performance de Rede com Iperf

TuxMath - Tux, do Comando da Matemática. Ensino e diversão a crianças.

DHCP - Guia Completo

Aula #14 - Os sistemas de arquivos ext2/ext3/ext4

OPNsense - Firewall Open Source

SSD no linux

Ophcrack: Descubra todas as senhas do Windows

Administração de sistema e Deploys: Ansible, Chef, Fabric, Puppet ou Salt?