Em uma distribuição Linux padrão (por exemplo, Ubuntu), geralmente existe /etc/group
e /etc/group-
, onde a segunda é legível apenas pela raiz.
man group
apenas descreve /etc/group
.
Assim, minha pergunta: qual é o propósito /etc/group-
?
Em uma distribuição Linux padrão (por exemplo, Ubuntu), geralmente existe /etc/group
e /etc/group-
, onde a segunda é legível apenas pela raiz.
man group
apenas descreve /etc/group
.
Assim, minha pergunta: qual é o propósito /etc/group-
?
Respostas:
É um backup da cópia anterior do arquivo que é a versão do arquivo antes da última alteração. É mantido porque é um arquivo muito importante. Você pode excluí-lo, mas os backups são uma "coisa boa".
Você pode verificá-lo facilmente. Experimentar
# groupadd test
# diff /etc/group /etc/group-
Também existem outros arquivos que são copiados da mesma maneira que o viz. /etc/passwd-
/etc/shadow-
.
Todos os utilitários de gerenciamento de usuários e grupos, como useradd, usermod, userdel, groupmod, groupdel
etc., criam / atualizam esses arquivos de backup após a execução bem-sucedida do comando.
Concordo com a resposta de @Sachin Divekar de que este é um "arquivo de backup", mas eu precisava de mais informações sobre como o arquivo é criado e como suas permissões são definidas. No CentOS6, correr usermod
para alterar a participação no grupo estava (re) criando / etc / group- com permissões de 0644 em vez de "somente legível como raiz", conforme descrito na pergunta original.
usermod
(e todos os outros utilitários de gerenciamento de usuários / grupos mencionados por @Sachin Divekar) fazem parte do pacote shadow-utils (eu encontrei as fontes do shadow-4.1.5.1) e, depois de pesquisar as fontes, encontrei um método #create_backup no commonio .c (veja em github.com ) que é usado por todos os utilitários de usuário / grupo. O arquivo de backup recebe o nome do arquivo de origem postfixado com um "-" (neste caso, '/ etc / group-'), e as permissões do arquivo de backup são definidas para as permissões do arquivo de origem e são editadas com 0664 .
Isso explica por que - quando / etc / group é chmod 0644 - após executar gpasswd
ou usermod
modificar a associação ao grupo local, / etc / group- é criado se ainda não existe e está com chmod para 0644.
/etc/group
os comandos de grupo e não editá-lo diretamente.