Запуск Viber как другого пользователя при использовании микрофона и динамиков «моего» X-сервера

Я запускаю Fedora с GNOME и недавно установил Viber для Linux . Это очень хорошо, и все работает нормально.

Поскольку Viber не является программным обеспечением с открытым исходным кодом, я решил запустить его как другого пользователя, чтобы убедиться, что он не имеет доступа к моим файлам без моей концентрации , создав пользователя: group viber:viber . Если я попытаюсь открыть изнутри файлы Viber , принадлежащие мне или любому другому пользователю, он не сможет их прочитать. Цель достигнута, но отчасти. Теперь я наткнулся на другую проблему: Viber работает только с сообщениями, и когда я пытаюсь позвонить, он говорит, что он не может найти ни микрофона, ни динамиков? Мне кажется, что я знаю, почему (я запускаю X Server (GNOME) как я и Viber как viber: viber (user: group) ).

Как заставить Viber работать как viber:viber и в то же время, чтобы использовать микрофон и динамики, при запуске сессии GNOME в качестве myusername:myusername ?

Решения SELinux также приветствуются, но с конкретными примерами! chroot не является решением, так как это, как я понял, приведет к той же проблеме, что описана выше.

ИЗМЕНИТЬ 1:

Исполнение для его запуска: su - viber -c /opt/viber/Viber

  • Что такое SELinux ".lst" файлы в / usr / share / selinux / предназначенные для CentOS 7?
  • Как понять контекст безопасности в «ls -Z»?
  • Линукс командной строки может подключаться, но веб-сервер (или php) не может подключиться
  • httpd не может записывать в папку / файл из-за SELinux
  • Имеет ли смысл использовать SELinux внутри тюрьмы chroot?
  • selinux разрешить порт портвейна 8332
  • Как создавать политики SELinux на основе журналов?
  • Параметры выходного компилятора из SSH
  • 3 Solutions collect form web for “Запуск Viber как другого пользователя при использовании микрофона и динамиков «моего» X-сервера”

    Вам нужно запустить pulseaudio в системном режиме и позволить всем пользователям получить к нему доступ, к сожалению, это сильно обескураживает разработчик Pulseaudio .

    Вот сценарий службы systemd, который должен улучшиться выше:

     # /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 

    Если вы хотите запустить с включенным SELinux, вот сообщение, описывающее правила SELinux .

    Я не знал, что Pulseaudio работает на Fedora в качестве аудиосервера.

    После исследования, я наконец нашел способ обмена аудио (микрофон и динамики) среди других пользователей, при запуске Pulseaudio как обычный пользователь (я), а не в системном режиме .

    Для этого вам нужно будет скопировать исходный файл конфигурации в домашний каталог:

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

    Затем добавьте к нему следующий параметр конфигурации ( ~/.pulse/default.pa ):

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

    Теперь под теми пользователями / пользователями , с которыми вы хотите поделиться аудио, в своих домашних каталогах (НЕ ВАШИ) создайте пользовательский файл конфигурации пользователя ~/.pulse/client.conf пользователя ~/.pulse/client.conf и добавьте следующий параметр:

     default-server = 127.0.0.1 

    Не забудьте перезапустить аудиосервер или компьютер / сервер, чтобы применить новые настройки.

    В конце концов, я могу запустить Viber в качестве другого пользовательского viber:viber и иметь доступ к микрофону и динамикам, при запуске сеанса GNOME в качестве myusername:myusername .


    Успешно протестирован на Fedora 20 .

    Осторожно, /opt/viber/Viber имеет биты SUID и GUID. Тем не менее, он, вероятно, будет работать как корень (я его не тестировал).

    Linux и Unix - лучшая ОС в мире.