Qual é a diferença entre grupo primário e grupo secundário no Ubuntu?

21

Qual é a diferença entre grupo primário e grupo secundário no Ubuntu?

Nematullah Tanin
fonte
Por favor, adicione mais contexto à sua pergunta. Sobre quais grupos você está perguntando?
aquaherd

Respostas:

15

O grupo principal é o grupo aplicado a você quando você efetua login usando os métodos usuais (TTYs, GUI, SSH, etc.).

Como os processos geralmente herdam o grupo do pai, e seu processo ou shell inicial teria o grupo principal como grupo, qualquer coisa que você faça geralmente tem o efeito do grupo principal (criando arquivos, por exemplo).

Os grupos secundários são os grupos nos quais você pode iniciar processos sem usar uma senha de grupo, via sgou para efetuar login através do newgrpcomando.

Portanto, se você tem um grupo primário xe um grupo secundário y,

touch foo

normalmente criará um arquivo xcomo o proprietário do grupo (a menos que o diretório pai seja SETGID para outro grupo). No entanto, você pode fazer:

sg y 'touch bar'
# or
newgrp y
touch baz

Então bare bazserá criado ycomo o grupo.

No entanto, se você não tiver um grupo em seus grupos secundários (digamos z), os comandos sge newgroupsolicitarão a senha do grupo se você os usar z.

muru
fonte
4

Se você está falando sobre grupos de sistemas de arquivos, eles são bem explicados aqui no artigo cyberciti . O grupo principal é usado por padrão ao criar um novo arquivo. Você pode testar isso

touch foo
ls -la foo

O arquivo pertencerá a você e estará no seu grupo principal. Os usuários que também estão no seu grupo principal terão permissões no nível do grupo nesses arquivos.

Você pode verificar seus grupos secundários com

groups $(whoami)

Também é possível compartilhar arquivos com pessoas que não estão no seu grupo principal, definindo Definir ID do Grupo em um diretório. Isso é explicado aqui: pasta compartilhada com o SetGID .

Eero Aaltonen
fonte