/usr/bin/system-config-selinux Traceback (most recent call last): File "/usr/share/system-config-selinux/system-config-selinux.py", line 36, in <module> import gnome ImportError: No module named gnome ------------------------------- Ида -- оно вообще работать-то может в ситуации, когда права root получены, а контекст selinux, насколько я понимаю, остаётся пользовательский?
Давайте разбираться. Этот вопрос всплывал два месяца назад. Задавался он тоже Антоном. Результатом нашего обсуждения получился вот такой коммит: http://git.altlinux.org/people/stanv/packages/?p=selinux.git;a=blobdiff;f=policycoreutils.spec;h=217ed1349ca72961a776a53b99ec05a8c2d96362;hp=5bc8614e5cfb0708be841b4f91393cd8e139d12e;hb=1be5d0cdf39d1bf8c15c41cfe1cf766b87d9d980;hpb=d0d403ef2e0ba9ca549bd90a35fe3610bc185557 Что мы тут имеем: %add_python_req_skip gnome %add_python_req_skip gi %add_python_req_skip gtk Я решил так поступить после обсуждения с sbolshakov@. Как я помню, мне было сказано что модуль gnome - это первый Gnome. Которого у нас ни в каком представлении нету. И было вот такое вот решение. Вопрос №2. пакету selinux-policy-altlinux действительно нужен policycoreutils-gui ? Ответ: Да. Может пригодится утилита (консольная) /usr/bin/sepolgen # rpm -qfl /usr/bin/sepolgen | grep bin /usr/bin/selinux-polgengui /usr/bin/sepolgen /usr/bin/system-config-selinux Т.е. получается что хоть пакет и имеет преффикс gui в названии - это на самом деле только скрипт на питоне sepolgen. Жду предложений, если нету - закртытие баги репортером.
предложение такое: перенести утилиту sepolgen в пакет policycoreutils, если она не соответствует "gui" в названии текущего местоположения. Утилиты, требующие GUI крайне желательно отделить от котлет, которым GUI не нужен. И ещё - system-config-selinux у нас вообще работосопобен ? если удовлетворить зависимости - он сможет работать в нашем окружении ?
(В ответ на комментарий №1) > Как я помню, мне было сказано что модуль gnome - это первый Gnome. Которого у > нас ни в каком представлении нету. > > И было вот такое вот решение. Какое-то странное решение. А зачем паковать заведомо неработающий код? Если system-config-selinux не работает и работать не может -- значит его не следует паковать, чтоб он не загаживал собой хотя бы меню. > Вопрос №2. > пакету selinux-policy-altlinux действительно нужен policycoreutils-gui ? > > Ответ: Да. Может пригодится утилита (консольная) /usr/bin/sepolgen Для какой цели? Вообще, как мне кажется, надо выделить из пакета selinux-policy-altlinux подпакет -admin, и в основном пакете оставить только то, что необходимо для использования policy, а всё, что связано с изменением и созданием политик паковать отдельно, так как это очевидное требование безопасности. > # rpm -qfl /usr/bin/sepolgen | grep bin > /usr/bin/selinux-polgengui > /usr/bin/sepolgen > /usr/bin/system-config-selinux > > Т.е. получается что хоть пакет и имеет преффикс gui в названии - это на самом > деле только скрипт на питоне sepolgen. Значит надо изменить раскладку скриптов по пакетам и, вероятно, полностью удавить pcu-gui
(В ответ на комментарий №2) > предложение такое: > перенести утилиту sepolgen в пакет policycoreutils, если она не соответствует > "gui" в названии текущего местоположения. > По сути, весь пакет policycoreutils-gui - это обвязка на питоне. Содержимое пакет - это модули питона для работы самого sepolgen. Т.е. утилиту перебросить не получится. Так как все остальное пакета - это то что нужно чтобы эта утилита работала. Давайте выброшу неработающие скрипты которые завязаны на Gnome1, которого у нас нету? > Утилиты, требующие GUI крайне желательно отделить от котлет, которым GUI не > нужен. > > И ещё - system-config-selinux у нас вообще работосопобен ? если удовлетворить > зависимости - он сможет работать в нашем окружении ? Нету в Сизифе у нас модулей питона для 1го Gnome.
(В ответ на комментарий №4) > (В ответ на комментарий №2) > > предложение такое: > > перенести утилиту sepolgen в пакет policycoreutils, если она не соответствует > > "gui" в названии текущего местоположения. > > > > По сути, весь пакет policycoreutils-gui - это обвязка на питоне. > Содержимое пакет - это модули питона для работы самого sepolgen. > Т.е. утилиту перебросить не получится. Так как все остальное пакета - это то > что нужно чтобы эта утилита работала. > Давайте выброшу неработающие скрипты которые завязаны на Gnome1, которого у нас > нету? Да, их надо выбросить, а остальное перенести в остальной пакет, а подпакет -gui удалить как неработающий
> Вообще, как мне кажется, надо выделить из пакета selinux-policy-altlinux > подпакет -admin, и в основном пакете оставить только то, что необходимо для > использования policy, а всё, что связано с изменением и созданием политик > паковать отдельно, так как это очевидное требование безопасности. Boyarshinov: приведу пример. Один. Который пришел сразу на ум. Есть модуль которые написал сам же Админ. Какое-то расширение политики. Чтобы его обновить\написать\установить - нужны тулзы. Вот такая архитектура у этого SeLinux. Кучу утилит которые вызываются на разных этапах. Даже для обычных действий. Смотри список этих утилит вот тут: http://userspace.selinuxproject.org/trac/wiki/SelinuxTools Их много, реально много. И нужно быть Dan Walsh чтобы все это связать в кучу.... очень сложно узнать: "оставить только то, что необходимо для использования policy". Увы.
(В ответ на комментарий №6) > > Вообще, как мне кажется, надо выделить из пакета selinux-policy-altlinux > > подпакет -admin, и в основном пакете оставить только то, что необходимо для > > использования policy, а всё, что связано с изменением и созданием политик > > паковать отдельно, так как это очевидное требование безопасности. > > Boyarshinov: приведу пример. > > Один. > Который пришел сразу на ум. > Есть модуль которые написал сам же Админ. > Какое-то расширение политики. > Чтобы его обновить\написать\установить - нужны тулзы. Вот если нужны -- тогда пусть он их поставит. Политики, в общем случае не должны писаться на на машинах на которых реально обрабатывается скретная информация и средств их написания на таких машинах не должно быть. > Вот такая архитектура у этого SeLinux. > Кучу утилит которые вызываются на разных этапах. > Даже для обычных действий. > Смотри список этих утилит вот тут: > http://userspace.selinuxproject.org/trac/wiki/SelinuxTools > Их много, реально много. > И нужно быть Dan Walsh чтобы все это связать в кучу.... > очень сложно узнать: "оставить только то, что необходимо для использования > policy". Увы. Тем не менее, можно отделить то, про что мы точно знаем, что оно нужно только для расширения policy. Должна быть возможность не устанавливать эти утилиты при установке policy. sepolgen тут очевидный кандидат.
Антон, предлагаю всё-таки сейчас не пытаться отделить sepolgen от всего GUI. Давай перенесём его в пакет policycoreutils и на этом успокоимся. Защита от дурака должна быть реализована на системном уровне, а не на уровне отсутствия утилит написания политики.
не правильно написал - не от GUI, а от utils конечно же. Пакет gui ликвидировать.
(В ответ на комментарий №8) > Антон, предлагаю всё-таки сейчас не пытаться отделить sepolgen от всего GUI. > Давай перенесём его в пакет policycoreutils и на этом успокоимся. Ну, для начала да, это понятно. > Защита от > дурака должна быть реализована на системном уровне, а не на уровне отсутствия > утилит написания политики. И на этом тоже, по той же причине, по которой на машинах, критических по безопасности, не должно быть компилятора.
Итого 1) прямо сейчас переносим sepolgen и всё, что ему нужно в -utils, пакет -gui удаляем 2) в перспективе заботимся о том, чтоб разделять политику и набор инструментов для создания политик
Да, я помню про отсутствие компилятора. Это хороший аргумент. Андрей, давай всё-таки рожать отдельный пакет sepolgen
После исследования, выяснилось, что модуль питона Gnome - работоспособный и у нас он есть. И он GNOME2. Он называется называется как: # rpm -ql python-module-pygnome /usr/lib64/python2.7/site-packages/gtk-2.0/gnome Получается что пакеты gui (selpolgen) полностью работоспособны, и работают даже в графическом режиме. Мне удалось их запустить. В итоге, исправляю: 1) Добавляю BuildRequires на python-module-pygnome 2) Удаляю из selinux-policy-altlinux зависимость на policycoreutils-gui, так как оно лишнее.
Пакет был пересобрал с учетом http://pkgs.fedoraproject.org/cgit/policycoreutils.git/tree/policycoreutils.spec В дальнейшем, лучше придерживаться его структуры, так как только "эти" парни понимают что происходит с SeLinux, и то не всегда. В результате секция %files для всех пакетов была перекроена. Diff: http://git.altlinux.org/people/stanv/packages/?p=selinux.git;a=blobdiff;f=policycoreutils.spec;h=df976f3414d90b3f3d80c0f83798e297e1bef5c3;hp=f6c169f9445a762e5a20b9de3b0f3d2d3e36e66d;hb=901aa9214df4114c54a143254f0daae3eb96a387;hpb=078295f26427f240a76da2c961cf31a9743a5951 Изменения из кардинальных: * Был добавлен новый пакет devel * Были перетасованы модули python, это исправило зависимости. * Средства gui мне удалось запустить. Но всетаки они заточены под ref-policy. Так как в коде питона используются права и роли политики refpolicy которых у нас нету. Пакет в сизифе. Boyarshinov: в ближайшее время соберу для C7 на сборочнице в режиме test-only, полученные пакеты установлю на твой образ.... проверю как он пройдет установка.
Протестировал на altlinux-7.0.4-20140428-spt-i586-ru-install-dvd5.iso Можно переносить в C7 Номер таска: 118934 + Boyarshinov@ скопируй также пожалуйста из сизифа политику, спасибо.
policycoreutils-2.2.5-alt2.M70C.2