O que exatamente esse comando dpkg faz?

6

Eu consertei um problema permissin para nagios como descrito Aqui .

O comando era:

sudo dpkg-statoverride --update --add nagios www-data 2710 /var/lib/nagios3/rw
sudo dpkg-statoverride --update --add nagios nagios 751 /var/lib/nagios3

Ok, é óbvio que é algum tipo de alteração de permissão. Mas onde isso acontece? Onde é armazenado? É apenas uma modificação chmod?

    
por The Shurrican 26.05.2011 / 14:54

2 respostas

15

dpkg-statoverride é a ferramenta de gerenciamento para um banco de dados mantido pelo dpkg que contém as configurações de proprietário e modo para determinados caminhos de arquivo.

Invocada como na sua pergunta, ela fará duas coisas: Definir o modo / tipo de propriedade para os arquivos fornecidos imediatamente se existirem ( --update ) e armazenar uma nova entrada no arquivo de substituição ( --add ). O último garante que mais dpkg das operações que criam ou modifiquem os arquivos listados usarão os valores de substituição em vez daqueles definidos pelo pacote.

Essas substituições são permanentes. Em geral, eles superam um chmod/chown normal, pois isso evita que você tenha que se lembrar de redefinir as permissões manualmente ao atualizar ou reinstalar o pacote.

As substituições existentes podem ser listadas executando dpkg-statoverride --list .

    
por 26.05.2011 / 15:15
3

Você poderia apenas fazer manualmente. É simplesmente uma mudança de permissões. A razão para usar o dpkg-statoverride é que ele se lembrará de atualizações e coisas assim.

É uma ferramenta para dizer ao dpkg para usar essas permissões. Você é realmente capaz de configurá-lo antes de instalar o pacote também.

O sinalizador --update é usado ao alterar permissões por meio do dpkg-statoverride em arquivos que já existem.

    
por 26.05.2011 / 15:15