Execução do Viber como outro usuário ao usar o “meu” microfone e alto-falantes do X Server

6

Eu corro Fedora com GNOME e instalei recentemente o Viber para linux . É muito bom e tudo está funcionando bem.

Como o Viber não é um software open-source , decidi executá-lo como outro usuário para garantir que ele não tenha acesso aos meus arquivos sem my concentr , criando um usuário: grupo viber:viber . Se eu tentar abrir de dentro dos arquivos Viber que pertencem a mim ou a qualquer outro usuário, ele não poderá lê-los. Objetivo atingido, mas parcialmente. Agora, tropecei em outro problema, que é o Viber , que funciona apenas com mensagens e quando tento fazer uma chamada, ele diz que não consegue encontrar nem microfone nem alto-falantes? Parece que eu sei porque (eu corro o X Server (GNOME) como eu mesmo e Viber como viber: viber (usuário: grupo) ).

Como fazer com que Viber seja executado como viber:viber e, ao mesmo tempo, permitir que ele use microfone e alto-falantes enquanto executa a sessão do GNOME como myusername:myusername ?

As soluções SELinux também são bem-vindas, mas com exemplos concretos! chroot não é a solução, pois levará, como eu entendo, ao mesmo problema descrito acima.

EDIT 1:

O exec para execução é: su - viber -c /opt/viber/Viber

    
por Ilia Rostovtsev 06.12.2013 / 09:27

3 respostas

3

Eu não sabia que o Pulseaudio rodava no Fedora como servidor de áudio.

Depois de pesquisar, finalmente encontrei uma maneira de compartilhar áudio (microfone e alto-falantes) entre outros usuários, enquanto uso o Pulseaudio como usuário normal (eu mesmo) e não no Modo do Sistema .

Para fazer isso, você só precisará copiar o arquivo de configuração inicial para o seu diretório pessoal:

cp /etc/pulse/default.pa  ~/.pulse/default.pa

Depois, adicione a seguinte opção de configuração a ele ( ~/.pulse/default.pa ):

load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1

Agora, sob esses usuários / usuário , com os quais você deseja compartilhar o áudio, em seus diretórios iniciais (NOT YOURS) crie o arquivo de configuração de usuário personalizado ~/.pulse/client.conf do Pulseaudio e adicione a seguinte opção :

default-server = 127.0.0.1

Não se esqueça de reiniciar o seu servidor de áudio ou o seu computador / servidor para aplicar novas configurações.

Eventualmente, posso executar o Viber como outro usuário viber:viber e ter acesso ao microfone e alto-falantes, enquanto executo a sessão do GNOME como myusername:myusername .

Testado com sucesso no Fedora 20 .

    
por 09.12.2013 / 10:18
4

Você precisa executar pulseaudio no modo de sistema e permitir que todos os usuários acessem infelizmente, isso é strongmente desencorajado pelos desenvolvedores Pulseaudio upstream .

Aqui está um script de serviço do systemd que deve melhorar no que precede:

# /etc/systemd/system/pulseaudio.service:
[Unit]
Description=PulseAudio Daemon
[Install]
WantedBy=multi-user.target
[Service]
Type=simple
PrivateTmp=true
ExecStart=/usr/bin/pulseaudio --system --disallow-exit

Se você deseja executar com o SELinux ativado, aqui está uma postagem descrevendo as regras do SELinux necessárias .

    
por 08.12.2013 / 23:08
1

Cuidado, /opt/viber/Viber tem bits SUID e GUID definidos. Ele provavelmente será executado como root, no entanto (eu não testei, no entanto).

    
por 22.04.2014 / 18:48