Como alterar as permissões da pasta durante a instalação do pacote

5

Estou fazendo um pacote deb para instalar um aplicativo personalizado. Eu mudei todos os arquivos / pastas de propriedade para root, a fim de evitar os avisos que eu estava recebendo durante a instalação, e no Ubuntu tudo corre bem, como o Ubuntu altera a propriedade dos arquivos / pastas para o usuário instalar o pacote.

Mas quando estou instalando no Debian, o root continua sendo o dono. O aplicativo usa uma pasta para gravar dados e aqui está o problema. Executando como um usuário padrão, o aplicativo não tem permissão para gravar na pasta.

Agora, como devo lidar com esse problema? Devo fazer um script de pós-instalação no pacote deb, fazendo o chmod o+w ? Devo empacotar o diretório já com essas permissões definidas?

Ou existe alguma maneira de definir o proprietário dos arquivos para o usuário que instala o aplicativo automaticamente (como o Ubuntu)?

    
por Nuno V. 24.02.2016 / 11:37

1 resposta

9

Não sei qual é o comportamento no Ubuntu, mas, em geral, para um pacote .deb contendo arquivos ou diretórios com permissões não padrão, é necessário garantir que essas permissões sejam definidas após dh_fixperms é executado. Se você estiver usando um dh -style rules , faça o seguinte:

override_dh_fixperms:
        dh_fixperms
        chmod 777 yourfolder

Você também pode fazer isso em postinst :

if [ "$1" = "configure" ]; then
    chmod 777 yourfolder
fi

mas a abordagem rules é mais simples (pelo menos, eu prefiro fazer isso em vez de confiar nos scripts do mantenedor).

    
por 24.02.2016 / 12:05