Arch equivalente do Debian 'dpkg-divert'

1

Estou tentando configurar o Skype no Arch Linux para usar um usuário em caixa de areia , não importa qual usuário chama skype , mas eu particularmente não gosto do uso de um alias BASH para lançar o Skype como sugerido pelo wiki, já que, até onde eu sei se um usuário não está usando BASH ou invoca o Skype de skype.desktop , a areia o usuário encaixotado não será usado. Eu pensei que seria melhor desviar /usr/bin/skype para chamar

sudo -u skype /usr/bin/skype.real

em que skype.real é o binário real do Skype. Tenho certeza que no Debian eu poderia fazer isso com

dpkg-divert --package skype --add --rename --divert /usr/sbin/skype.real /usr/sbin/skype

e adicione meu próprio arquivo a /usr/sbin/skype . Como faço isso com o Arch?

    
por StrongBad 11.05.2014 / 16:15

1 resposta

2

Se, como sugeri nos comentários, o pacote skype-restricted AUR não é adequado para você (e observe que não sei a abordagem que eles usam), posso pensar em duas abordagens:

(Leia no final a maneira correta de aplicá-los no Arch)

Altere skype para um script que executa o seu verdadeiro Skype

Crie um script bash que chamará seu Skype real:

#!/bin/sh
sudo -u skype /usr/bin/skype.real

Conceda a ele permissões de execução e salve-o como /usr/bin/skype , renomeando o antigo binário do Skype para /usr/bin/skype.real .

Essa abordagem leva algumas coisas que precisam ser consideradas:

  • Se você realmente quer que ninguém ligue para o Skype (o verdadeiro), além do usuário skype , você precisa dar ao arquivo as permissões apropriadas:

    chown skype /usr/bin/skype.real
    chmod 0100 /usr/bin/skype.real
    

    Isso evitará que ninguém, exceto seu proprietário, o execute

  • Para permitir que alguém execute skype (o novo, com script), você precisa editar o arquivo sudoers (usando visudo ) para que qualquer pessoa (preferencialmente em um grupo, possivelmente grupo skype ) possa chamá-lo como usuário skype . Eu não sei os detalhes, só sei que isso pode ser feito.

Altere o proprietário skype e defina o setuid bit

Nota: Esta não é a maneira recomendada, pois os executáveis setuid devem ser configurados para um mínimo

Esta possibilidade de ser mais limpo pode ser a configuração do setuid bit para que qualquer pessoa que esteja chamando skype chame como usuário skype .

chown skype /usr/bin/skype
chmod u+s /usr/bin/skype

Isso tornará o comando skype disponível como sempre, mas sempre será executado como o usuário skype .

Em qualquer um dos casos acima , sempre que você atualizar o Skype para uma versão mais recente, será necessário repetir o processo, pois pacman substituirá o binário.

A solução é criar um PKGBUILD que baixe o pacote oficial, extraia e realize as alterações desejadas. Então você instala manualmente (como você instalaria qualquer pacote AUR). Você precisará recriá-lo manualmente sempre que precisar atualizá-lo. O Skype não atualiza isso com frequência.

Para essa tarefa, o wiki oficial dos PKGBUILDs é um excelente recurso.

    
por 11.05.2014 / 23:05