Por que você NUNCA deve editar o arquivo / etc / shadow diretamente?

10

Em outra resposta aqui no UNIX & Linux Stack Exchange Michael D Parker escreveu , em resposta a alguém dizendo que isso era "seguro", que:

Usually you should NEVER edit the /etc/shadow file directly.

Então:

Por que você deve nunca editar o arquivo /etc/shadow diretamente?

    
por Claude Cameron 15.03.2015 / 08:44

4 respostas

14

Existem vários motivos para não editar /etc/passwd , /etc/shadow , /etc/group , /etc/gshadow ou /etc/sudoers diretamente, mas usar vipw , vigr ou visudo :

  • Se você cometer um erro de sintaxe, talvez não consiga efetuar login ou tornar-se root. Usar as ferramentas viXXX reduz esse risco porque a ferramenta faz verificações de integridade antes de modificar o arquivo.
  • Se o arquivo for editado simultaneamente, quem salvar por último substituirá as alterações feitas pelas edições anteriores. Isso inclui um administrador que edita o arquivo e o arquivo que está sendo modificado porque um usuário chamou passwd , chsh ou chfn para alterar algo sobre sua conta. Se você usar a ferramenta apropriada, ela impedirá as modificações simultâneas. Isso é principalmente uma preocupação em sistemas com vários usuários, menos se você for o único usuário.
  • Em alguns sistemas (principalmente ou apenas * BSD), vipw atualiza vários arquivos (por exemplo, /etc/passwd e /etc/master.passwd ). Isso não se aplica ao Linux.
  • vipw cria automaticamente um backup ( passwd- , shadow- ,…), o que é útil se você perceber que excluiu acidentalmente uma linha. Só é útil se você perceber antes da próxima edição, por isso não substitui o controle de versão e backups, mas pode ser muito bom se você perceber o seu erro em breve. visudo não faz isso.

Você pode editar o arquivo diretamente. Você só estará assumindo um risco adicional sem nenhuma vantagem real.

    
por 16.03.2015 / 00:25
6

Existem basicamente duas maneiras de ver isso:

  1. Nunca edite certos arquivos sem usar as ferramentas prescritas porque provavelmente você não sabe o que está fazendo e tudo bem, porque essas ferramentas sabem melhor e estão sempre disponíveis.

  2. Mais realisticamente, é melhor dividi-lo agora enquanto pensa nele, para poder planejar com antecedência uma cópia de backup e comparar as diferenças depois disso, porque há um conhecimento básico sobre os detalhes do sistema. O processo básico login inicial provavelmente vale a pena quando você o quebra de alguma outra maneira e as ferramentas não o ajudarão.

Eu acho que você provavelmente sabe o que eu recomendo. Eu digo que, se um tópico lhe interessa, mesmo que por um momento, você pode aproveitar essa curiosidade e ganhar uma nova habilidade enquanto está nisso. Especialmente um como este - o arquivo shadow está em um formato bastante básico, e o pouco que eu sei eu aprendi depois de quebrá-lo acidentalmente - e não foi o resultado de uma edição que eu feita para esse arquivo.

Em vez disso, meu problema ocorreu depois que algum outro erro com um banco de dados de gerenciamento de pacotes levou o gerenciador de pacotes a sobrescrevê-lo sem salvar um backup e todos os usuários no sistema foram feitos kaput . Outras tentativas ignorantes de reparo só espalharam os danos para outros arquivos relacionados e não demorou muito para que eu precisasse restaurar a maioria dos arquivos de texto de /etc de um (menos recente do que o esperado) backup.

Uma vez que eu fiz isso e verifiquei que estava em estado funcional, decidi fazer tudo de novo, meticulosamente. E mais uma vez Isso tudo foi há alguns meses, mas hoje continuo confiante de que posso diagnosticar a origem de um login issue w / a once-over de um único arquivo de log em meu sistema e endereçá-lo com qualquer editor básico (e desde, talvez, um olhar ou dois em man 5 problem_file ) forneceu apenas acesso básico à raiz fs afetada. Não foi adquirido a baixo custo - demorei quase um dia inteiro - e os arquivos de configuração relacionados estão espalhados por todo o diretório (e até alguns - como /var/run/no_login - do Linux PAM - em outras montagens) - mas valeu a pena fazer. E poderia ter sido mais barato com um pouco de previsão.

A moral desta história é que provavelmente não é bom que o formato de configurações críticas como shadow , passwd , groups , shells seja tão opaco para nós que devemos empregar ferramentas especiais de edição que podem ou não corrigir nosso trabalho de maneiras e por razões que não entendemos apenas para efetuar uma simples mudança. Pelo menos, acho que vale a pena entender exatamente o que eles fariam de forma diferente do que poderíamos fazer.

Provavelmente é uma coisa boa, no entanto, uma vez que nos familiarizemos o suficiente com a edição dos ditos arquivos, corremos o risco de fazer neles e depois salvá-los erros tipográficos ou sintáticos simples que são ferramentas à nossa disposição que podem checar o nosso trabalho de maneiras e por razões que já entendemos antes de aplicar nossas edições Blas.

    
por 19.03.2015 / 23:00
3

Ponto de Contagem - se você precisasse copiar um conjunto de logins de usuário de um servidor para outro, sem saber suas senhas atuais ou atribuí-las novas senhas, você precisaria editar o arquivo / etc / shadow diretamente para inserir a senha com hash campo. vipw não deixa você tocar nesse campo, é apenas "*"

Atualização: ou, neste caso, use chpasswd -e "senha com hash", mas isso só pode ser feito diretamente no computador. Se você estava trabalhando com um conjunto de arquivos que ainda não foram implantados em uma máquina (por exemplo, Virtual Machine), a edição diretamente pode ser sua única solução.

i.e. Geralmente há uma ferramenta para fazer o que você quer fazer sem editar o arquivo / etc / shadow diretamente, você só precisa saber o que é ...

    
por 03.01.2017 / 20:16
0

Outro motivo pelo qual você precisa editar esses arquivos é editar os arquivos em uma imagem do sistema de arquivos que será inicializada em outro sistema e depurar o sistema após a inicialização. Por exemplo, o sistema de arquivos epêntemas MAAS usado em comissionamento com falha ou no modo de recuperação.

Nunca diga nunca ... a menos que você queira.

    
por 27.04.2017 / 19:23

Tags