O motivo é provavelmente que /
(contendo /etc
) é um sistema de arquivos somente para leitura, mas possui um link simbólico para /etc/shadow
, /etc/passwd
e outros arquivos dinâmicos que caem em um sistema de arquivos de leitura / gravação. / p>
Isso permitirá que você edite os arquivos shadow
e passwd
diretamente. O sed -i
falha porque sua implementação não é atualizada no local. Em vez disso, ele cria um arquivo temporário e grava as alterações nele e, em seguida, substitui o arquivo original pela cópia temporária. A mensagem de erro que você está vendo diz que sed
não pode gravar o arquivo (temporário) /etc/passwdH5HWP7
.
Solução? Não use -i
e controle você mesmo a localização do arquivo temporário ou forneça o sinalizador -i
com um nome de arquivo. Em ambos os casos, você precisa fornecer um nome de arquivo em um local com acesso de leitura / gravação.