SELinux перемаркировка проблемы при попытке выполнить OpenVPN

swipl -s jobshop.chr < CHRInput > output 2>&1

2>&1 означает, что “дескриптор файла перенаправления 2 (стандартная погрешность) к любому дескриптору файла 1 (стандартный вывод) подключен с”. Отметьте это 2>&1 должен прибыть после перенаправления стандарта ouptput: 2>&1 >output сначала отправил бы fd 2 к любому fd 1 подключен с тем, в то время, когда (т.е. терминал) затем перенаправляют fd 1 к терминалу.

Обратите внимание, что в зависимости от того, как программа записана, это не могло бы чередовать вывод в том же порядке, как будто это работало на терминале. Поэтому много программ буферизуют вывод на stdout, т.е. они только на самом деле выписывают данные, когда буфер полон. Но когда стандартный вывод подключен к терминалу, это с буфером строки, т.е. каждая строка выписана, даже если буфер не полон. (Stderr, с другой стороны, не буферизуется по умолчанию.) Поэтому, если программа пишет сплошные линии без заботы о сбрасывании буферов или changning настройки по умолчанию и Вы ожидают, что они существуют порядка, были ли они записаны в стандартную погрешность, или стандартный вывод, перенаправляя в файл не мог бы работать.

В довольно недавних системах Linux, если перенаправленный вывод имеет строки не в порядке, попытку

stdbuf -oL -oL swipl -s jobshop.chr output 2>&1
7
14.08.2013, 00:15
1 ответ

У меня нет системы Fedora прямо сейчас для сверений, но теперь, когда я читаю это некоторое время спустя "openvpn", поскольку имя кажется довольно универсальным. До такой степени, когда возможно, что самому пакету OpenVPN можно было бы назвать модуль, что для получения информации о типе, которую это добавляет, когда это установлено. Это все еще происходит, если Вы даете модулю другое имя? Как openvpn-tun или что-то?

Я не на 100% уверен в деталях основных элементов (это - в основном просто произвольное предположение), но кажется, что это создало бы конфликт, если бы эти два модуля имели то же имя. Особенно, если один модуль зависел от информации, которая была в другом.

Править:

Наконец возвратился домой. Похож существует собственный модуль SELinux с тем именем:

[root@localhost test]# cat /etc/fedora-release 
Fedora release 18 (Spherical Cow)
[root@localhost test]# semodule -l | grep openvpn
openvpn 1.11.0  

Но похоже, что я был неправ относительно того, как SELinux на Fedora работает. Похоже, что все это наталкивается под единственным комплексом взаимных обязательств на все распределение:

[root@localhost modules]# pwd
/etc/selinux/targeted/modules/active/modules
[root@localhost modules]# ls -lh openvpn.pp
-rw-r--r--. 1 root root 12K Jun 27 08:59 openvpn.pp
[root@localhost modules]# rpm -qf $PWD/openvpn.pp
selinux-policy-targeted-3.11.1-98.fc18.noarch
2
27.01.2020, 20:19

Теги

Похожие вопросы