16.10.2017 Не работает авторизация в MySQL после установки пароля 11.10.2016 PGADMIN 3 - как подключиться к базе postgresql 31.01.2016 ntfs-3g новая версия не монтирует разделы, откат на старую 10.06.2015 VirtualBox - не работает буфер обмена 21.04.2015 Как установить определенную версию пакета в debian 18.03.2015 VLC не может открыть MRL 18.03.2015 VLC не может открыть MRL 28.02.2015 apt-get update - хеш сумма не совпадает
#508

VLC не может открыть MRL

При просмотре IPTV пользователи систем unix, могут столкнуться с ошибкой - VLC не может открыть MRL. При запуске из консоли пользователь увидит следующий вывод ошибок:
  1. socket bind error: Permission denied
  2. cannot open socket
  3. open of `udp://@xxx.xxx.x.x:xxx' failed

Причина проблемы кроется в том, что некоторые каналы IPTV используют порты ниже 1024, которые, в свою очередь, являются привелегированными, и не могут использоваться обычными пользователями и приложениями запускаемыми под ними.

Лечится все довольно просто. Все действия под root, либо sudo.

Устанавливаем пакет libcap2-bin
  1. # apt-get install libcap2-bin

Затем выставляем атрибуты у VLC:
  1. # setcap 'cap_net_bind_service=+ep' `which vlc`

Перезапускаем VLC плеер и все работает.

Для отмены этих настроек необходимо выполнить команду:
  1. # setcap -r /usr/bin/vlc


Собственно стоит упомянуть, что в стандарте POSIX был принят механизм "возможностей" - capabilities, который позволял приложения, запущенные от обычных пользователей, наделять некоторыми привилегиями доступными только root, при этом не давая им полных прав суперпользователя, что мы и делаем при помощи утилиы setcap, а параметр cap_net_bind_service - позволяет дать возможность слушать порты привилегированных пользователей.

Более подробную информацию о capabilities читайте здесь.

У setcap, есть ряд ограничений (отсюда):

06.06.2014 Установка mongodb 06.06.2014 Установка mongodb 27.01.2014 linux: не монтируется sd карта 27.01.2014 linux: не монтируется sd карта 20.01.2014 WICD: управление подключениями к сети 07.09.2013 Как установить skype на debian 64 07.09.2013 Как установить skype на debian 64 10.04.2013 Linux ошибка сегментирования
О сайте