Como faço para remover um usuário do arquivo dpkg-statoverride?

Como faço para remover um usuário do arquivo dpkg-statoverride?

Tentei instalar um pacote depois de excluir alguns servidores que não eram mais necessários e remover os usuários e grupos do pacote de software excluído. Fui buscar e instalar um novo pacote e recebi o seguinte erro.

user@localhost~$ sudo apt-get install any-package

... package installation output omitted for brevity ...

dpkg: unrecoverable fatal error, aborting:
syntax error: unknown user 'puppet' in statoverride file
E: Sub-process /usr/bin/dpkg returned an error code (2)

Portanto, /usr/bin/dpkg-statoverride tem uma opção para remover um caminho, mas o binário gera o mesmo erro quando tento executá-lo fora de todo o contexto de instalação do apt-get.

Então, acabei de adicionar o fantoche do usuário e posso baixar pacotes novamente, mas estou tentando remover quaisquer elementos estranhos do meu sistema de desenvolvimento, então, no que me diz respeito, isso não é uma solução só porque funciona .

Pelo que eu sei, o statoverride diz ao gerenciador de pacotes para instalar certas coisas em um determinado caminho e mexe com o sinalizador setuid, então, potencialmente, poderia estar abrindo um monte de falhas de segurança ao instalar programas de co-propriedade de um usuário e grupo não utilizados. Existe uma razão pela qual o dpkg-statoverride não é atualizado com o resto do sistema quando um usuário é removido? E existe uma maneira de contornar isso para que eu não precise :adduser -> install -> deluser: toda vez que eu quiser instalar um pacote?

Responder1

Você pode tentar isso:

sudo sed -i '/puppet/d' /var/lib/dpkg/statoverride

Deve remover o usuário do statoverride e dar-lhe acesso para instalar novamente

informação relacionada