Como coloco comentários no meu arquivo / etc / shadow?

10

Estou executando algumas atualizações do sistema e meu gerenciador de pacotes está mostrando alterações entre o upstream / etc / shadow e o meu.

Eu gostaria de colocar alguns comentários no arquivo para a próxima vez que isso acontecer. Como eu conseguiria colocar comentários no arquivo / etc / shadow sem quebrar as coisas.

Estou pensando que o padrão "#" provavelmente faria isso, mas se eu entendi errado, a reinicialização não será tão agradável.

DarkSheep
fonte
Use o etckeeper e grave seus comentários nas mensagens de confirmação.
Gilles 'SO- stop be evil' em

Respostas:

14

Nos sistemas Linux que usam GNU libc, as linhas iniciadas com #são ignoradas /etc/shadow. A análise é feita por __fgetspent_r()e seu código-fonte lida explicitamente (e documenta) esse comportamento.

Assim, na grande maioria dos sistemas Linux você pode comentar linhas /etc/shadowcom #sem causar problemas.

Infelizmente, os comentários são descartados quando /etc/shadowé atualizado, por exemplo , por passwd; portanto, armazenar comentários não é realmente seguro (do ponto de vista dos comentários).

Isso significa que você precisa encontrar outro lugar para armazenar seus comentários: duas boas sugestões são a ideia de dr01 de usar , ou melhor ainda, a idéia de Gilles de usar mensagens de confirmação com o etckeeper ./etc/shadow.README

Stephen Kitt
fonte
Praticamente qualquer entrada inválida parece se perder passwd. Tentei usar uma entrada de usuário falsa ou válida e adicionar caracteres à entrada final, mas tudo sem sucesso.
Otheus
7

Cada linha de /etc/shadowé considerada como um registro do usuário. Conforme escrito por Stephen Kitt, que revisou o código-fonte do analisador, você pode colocar linhas começando #como comentários no arquivo ou mesmo linhas vazias, e elas serão ignoradas.

No entanto, nunca vi um /etc/shadowarquivo com comentários. Parece que não é uma prática comum, e por uma boa razão: editá-lo à mão é fortemente desencorajado . Por esse motivo, prefiro sugerir que você crie um /etc/shadow.READMEarquivo para armazenar seus comentários. Lembre-se chmod 000do arquivo para evitar que usuários não-raiz bisbilhotem nele.

dr_
fonte
Então porque 000? Possuído por root:roote então ug=r,o=não bastante?
0xC0000022L
000 são as permissões de /etc/shadow(pelo menos no Red Hat, eu não procurei em outras distros) e garantimos que apenas o root tenha acesso ao arquivo. 440, como você sugere, torne o arquivo legível por um usuário comum, caso ele / ela ingresse por engano no grupo raiz. Em uma máquina administrada adequadamente, e para todos os fins práticos, eles valem o mesmo. Eu acho que 000 transmite melhor o significado de "arquivo crítico de segurança - mantenha as mãos longe", mas essa é apenas a minha opinião.
Dr_
@ dr01: não tenho certeza de como um usuário normal ingressaria no grupo raiz sem um superusuário fazer isso. E se um superusuário cometer esse erro, todas as apostas serão canceladas. Por exemplo, há uma boa chance de que a pessoa já seja um sudoer e possa acessar o arquivo independentemente. Eu considero segurança por obscuridade, mas YMMV.
0xC0000022L
Isso é exatamente o que eu quis dizer com "usuário comum entra por engano no grupo raiz". Meu caso é que um superusuário poderia (embora as chances sejam pequenas) colocá-lo no grupo raiz por engano. Enquanto uma permissão de 000 permitirá que apenas o root acesse o arquivo. Reconheço que esse é provavelmente um caso delicado, mas também considero muito mais limpo, já que o arquivo de comentários acaba tendo as mesmas permissões que /etc/shadow.
Dr_
3

Claro que você tem alterações no seu /etc/shadow. Você não deseja que as informações da conta no /etc/shadowservidor - senhas com hash, vencimentos da conta etc. - sejam uma cópia de byte por byte do upstream /etc/shadow.

E espero que você não esteja sobrescrevendo sua corrente /etc/shadowcom o que estiver recebendo da fonte de dados upstream.

Andrew Henle
fonte