UID da melhor prática == GID?

3

Estou configurando uma caixa RH Linux para o ensino. No passado, eu tive dois grupos, faculty e students . Cada conta de estudante foi atribuída ao grupo primário students , o instrutor faculty .

Eu estava lendo Nemeth et al. Unix e Linux System Admin (4a ed) e eles recomendam que o grupo primário de cada conta seja o mesmo do usuário.

Qual é preferível?

  • Configure as contas dos alunos com o grupo principal da mesma forma que user id (por exemplo, uid == gid) e depois adicioná-los a um grupo students ?

  • Ou devo adicionar todos os alunos inicialmente ao students grupo como eu fiz no passado?

São semanticamente os mesmos?

Especialmente em termos de segurança. Eu pretendo tornar alguns exemplos de código / grupo de arquivos legíveis para todos os alunos, mas, obviamente, quero evitar que os alunos espiem facilmente nos diretórios uns dos outros.

    
por Levon 02.08.2017 / 16:59

3 respostas

4

Se você quiser que os alunos não possam acessar os arquivos uns dos outros, você tem duas opções:

  1. Use GIDs por usuário (UID == GID) e defina a umask padrão como 0750.
  2. Defina a umask padrão como 0700.

A primeira opção é mais rápida de implementar e muito menos provável de quebrar as coisas. Tenha em mente que não há maneira prática sem o uso de algo como o SELinux para impedir que pessoas intencionalmente permitam que outras pessoas acessem seus arquivos.

    
por 02.08.2017 / 17:24
2

É principalmente uma questão de preferência pessoal.

Eu tive a mesma pergunta há alguns anos e fiz uma pesquisa sobre o assunto.
Tanto quanto fui capaz de determinar, não há grande benefício real para nenhum dos métodos. A maioria das principais distribuições Linux nos dias de hoje parece ser o padrão do método UID = GID. Alguns outros sistemas Unix ainda preferem a outra metodologia. Não parece realmente importar, desde que você use o UMASK adequadamente. (750 é padrão para GID = UID, 700 é preferível se vários usuários compartilharem GID.)

Pode haver algum software que assuma um ou outro, mas para cada caso de software que prefere GID = UID, você pode encontrar outro software que o queira ao contrário. E você sempre pode fazer as coisas funcionarem com algum uso criativo de chown e chgrp.

Em algumas organizações, pode haver uma preferência pelo GID compartilhado, devido à maneira como os recursos de rede compartilhados são configurados. (Permissões NFS ou a maneira como mapeiam permissões Unix em SMB ACLs).

Então, eu iria com o fluxo: Use o que for prescrito em sua organização (se houver tal regra) ou o que for padrão em sua distribuição escolhida (para minimizar problemas com aplicativos que pressupõem um determinado sistema baseado na distribuição usado).

    
por 03.08.2017 / 13:56
2

Muitas distros criam automaticamente um grupo primário junto com uma nova conta de usuário. Por padrão, ele usa a próxima ID disponível, e isso geralmente significa que o UID de um novo usuário será igual ao seu GID, a menos que você tenha criado anteriormente um grupo com um GID automático atribuído a ele ou um UID sem seu próprio primário grupo.

Dizer UID == GID é, portanto, um equívoco, como em muitas máquinas de vários usuários, o UID pode não corresponder ao GID de um usuário.

Normalmente, todas as contas de usuário também são membros de um grupo comum, normalmente users(100) , portanto, nos sistemas em que cada conta possui seu próprio grupo principal, você pode alternar de um paradigma para outro, por exemplo por chown -R :users . os arquivos em uma pasta.

    
por 19.02.2018 / 02:16