Como influenciar a atribuição de UIDs / GIDs subordinados ao criar contas de usuário?

3

Até onde sei, os UIDs e GIDs subordinados são atribuídos a contas de tal maneira que formam um intervalo contíguo.

O intervalo começa em 100000 por padrão e provavelmente se estende até o valor máximo teórico para um UID / GID (embora eu não tenha encontrado uma maneira de consultá-lo a partir do shell, /etc/login.defs apenas lista os valores permitidos para o ferramentas).

Agora, seria muito mais conveniente para mim como humano se os intervalos começassem em um múltiplo de 100000, ou seja, n*100000 com n sendo um inteiro positivo ( n>0 ), em vez de% código%. Dessa forma, poderei ver imediatamente qual arquivo pertence a qual usuário do host.

Existe uma maneira de influenciar a atribuição de UIDs / GIDs subordinados de alguma forma em 100000+n*65536 suficiente para alcançar uma tarefa mais legível?

Se não, está tudo bem simplesmente sobrescrever os arquivos shadow-utils e /etc/subuid com dados em conformidade para obter o que eu quero?

    
por 0xC0000022L 30.12.2014 / 14:25

1 resposta

1

Sim, isso pode ser configurado em /etc/login.defs usando os parâmetros SUB_UID_MIN , SUB_UID_MAX e SUB_UID_COUNT e seus SUB_GID_* de contrapartes.

Todos esses parâmetros são descritos na página man login.defs (5), no entanto, os valores padrão fornecidos nesta documentação não são verdadeiros em todas as plataformas.

De acordo com a página man, um comportamento semelhante ao que você descreve deve ser usado por padrão com intervalos definidos como múltiplos de 10000. No entanto, isso causaria problemas em algumas contas do sistema e grupos afetados por UID e GID acima de 65000. certas plataformas (Debian e derivados, por exemplo). Portanto, o intervalo padrão 65536 foi imposto com o efeito colateral que você conhece.

Assim, para obter intervalos mais legíveis, você pode definir explicitamente os valores abaixo no arquivo /etc/login.defs :

SUB_UID_MIN   100000
SUB_UID_MAX   600100000
SUB_UID_COUNT 100000
SUB_GID_MIN   100000
SUB_GID_MAX   600100000
SUB_GID_COUNT 100000

A propósito, os arquivos /etc/subuid e /etc/subgid podem, de fato, ser editados manualmente, mas garantem que os intervalos não se sobreponham e não se mexam em nenhum processo, arquivo ou propriedade de qualquer outro objeto. Em outras palavras, embora seja seguro fazê-lo antes de realmente usar o intervalo, depois disso será necessário um cuidado especial.

    
por 24.03.2016 / 12:33