Estou tentando configurar o Skype no Arch Linux para usar umusuário em caixa de areianão importa qual usuário chama skype
, mas eu particularmente não gosto do uso de um alias BASH para iniciar o Skype, conforme sugerido pelo wiki, pois, pelo que posso dizer, se um usuário não está usando BASH ou invoca o Skype do skype.desktop
usuário em sand box não será usado. Achei que seria melhor desviar /usr/bin/skype
para ligar
sudo -u skype /usr/bin/skype.real
onde skype.real
está 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, em seguida, adicione meu próprio arquivo ao /usr/sbin/skype
. Como faço isso com o Arch?
Responder1
Se, como sugeri nos comentários, o skype-restricted
pacote AUR não for adequado para você (e observe que não conheço a abordagem que eles usam), posso pensar em duas abordagens:
(Leia até o final para saber a forma correta de aplicá-los no Arch)
Mude skype
para um script que execute seu Skype real
Crie um script bash que chamará seu Skype real:
#!/bin/sh
sudo -u skype /usr/bin/skype.real
Dê-lhe 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 a algumas coisas que precisam ser consideradas:
Se você realmente deseja que ninguém ligue para o Skype (o verdadeiro) além do
skype
usuário, você precisa conceder ao arquivo as permissões apropriadas:chown skype /usr/bin/skype.real chmod 0100 /usr/bin/skype.real
Isso evitará que qualquer pessoa, exceto seu proprietário, o execute
- Para permitir que qualquer pessoa execute
skype
(o novo com script), você precisa editar o arquivo sudoers (usandovisudo
) para que qualquer pessoa (de preferência em um grupo, possivelmente groupskype
) possa chamá-lo como userskype
. Não sei os detalhes, só sei que isso pode ser feito.
Mude skype
o proprietário e defina o setuid
bit
Nota: Esta não é a forma recomendada, pois os executáveis setuid devem ser definidos no mínimo
Essa possibilidade pode ser mais limpa: definir o setuid
bit para que qualquer pessoa que ligue skype
o chame como usuário skype
.
chown skype /usr/bin/skype
chmod u+s /usr/bin/skype
Isso tornará o skype
comando disponível como sempre, mas sempre será executado como skype
usuário.
Em qualquer um dos casos acima, sempre que você atualizar o Skype para uma versão mais recente, precisará repetir o processo, pois pacman
substituirá o binário.
A solução é criar um PKGBUILD
que baixe o pacote oficial, extraia-o e faça as alterações desejadas. Em seguida, você o instala manualmente (como faria com qualquer pacote AUR). Você precisará reconstruí-lo manualmente sempre que precisar atualizar. O Skype não é atualizado com tanta frequência.
Para esta última tarefa, owiki oficial sobre PKGBUILDssão um ótimo recurso.