Como remover um pacote para o usuário atual?

0

Como posso remover um pacote para um determinado usuário, mas deixá-lo instalado para que outros usuários ainda possam acessá-lo? Estou usando o Ubuntu 12.10.

    
por Roman 08.05.2013 / 06:36

1 resposta

4

A maioria dos pacotes é instalada em locais e com permissões, para que possam ser acessados por vários usuários. Portanto, a menos que o pacote esteja preparado para cuidar disso, definindo as permissões e a propriedade de uma maneira especial, não é possível conseguir isso pela remoção do pacote.

O que um pacote poderia fazer para restringir o acesso é definir as permissões do grupo para diretórios e executáveis como rwxr-x --- e para arquivos normais como rw-r-- e configurar a propriedade do grupo para um grupo específico para que não membros desse grupo não tem mais acesso.

Você pode fazer o procedimento acima após o fato na maioria dos pacotes, pois isso não altera a estrutura de onde as coisas são instaladas. Portanto, o pacote ainda encontrará todos os seus componentes. Dependendo do que você quer exatamente, pode bastar apenas alterar os executáveis do pacote.

Supondo que um pacote abc esteja instalado, você poderia fazer algo como o seguinte (como root):

addgroup abcusers
adduser user abcusers
dpkg -L abc | xargs find -maxdepth 0 -type f | xargs chown o=
dpkg -L abc | xargs find -maxdepth 0 -type f | xargs chgrp abcusers

A primeira linha cria um grupo, a segunda linha precisa ser repetida para todos os usuários que precisam acessar o pacote. A terceira e quarta linha mudam as permissões em todos os arquivos de um pacote (assumindo que não há nomes de arquivos com espaços). No entanto, isso ainda pode quebrar o pacote , portanto, tenha cuidado para fazer isso e / ou reverter suas alterações com:

apt-get install --reinstall abc
    
por 08.05.2013 / 08:38

Tags