Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: Отключение и удаление SELINUX в Ubuntu/Debian  (Прочитано 18991 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн deblanck

  • Автор темы
  • Новичок
  • *
  • Сообщений: 28
    • Просмотр профиля
    Доброго времени суток.
    Многие пользователи Ubuntu не очень рады тем фактом,что в последнее время,как и в Debian в дистрибутив по умолчанию интегрируется программный продукт NSA - Selinux.Причём происходит это на уровне зависимостей пакетов,вплоть до ядра,требующих для разрешения этих зависимостей,как минимум,установки отдельных компонентов Selinux c заданием базовых системных политик по умолчанию при их установке,что не есть хорошо.ИМХО - это вредное влияние красношляпников :)
    Теперь о том,как же избавиться от этого чуда:
1)Сразу оговорюсь,что лучше всего пытаться это делать на свежеустановленной системе с минимумом дополнительно установленного софта,или даже в базовой установке с netinstall-а,до начала обновлений и прочего наполнения...Для начала,следует загрузиться в систему,предварительно отключив Selinux.Для этого добавим к строке загрузки ядра в /boot/grub/grub.cfg перед "...splash quiet --" "setenforce 0 selinux=0",чтобы получилось "...setenforce 0 selinux=0 splash quiet --" и отредактируем файл /etc/selinux/config (если нет,то создать) и,удалив в нём всё имеющееся содержание,вставим "SELINUX=disabled" ,без кавычек,и сохраним.Теперь следует удалить (если стоит) такие программы,как apport & apparmor ,как надстройки над selinux:
sudo aptitude purge apparmor apport --without-recommends && sudo update-initramfs -vuk all && sudo update-grub && sudo reboot -f
2)Теперь,загрузившись,не логинясь в *DM переключаемся в консоль,входим и делаем:
aptitude search selinux
aptitude search libsemanage
sudo aptitude purge libselinux1 libsemanage1 libsemanage-common (и все другие отмеченные буковкой "i"-installed в поиске aptitude)
на что получаем сообщения о нарушенных зависимостях и жмём "q" для отмены операции - мы не сможем сходу разрулить эти зависимости,злонамеренно привнесённые мейнтейнерами !Что же,если хочешь,что бы нечто было сделано -сделай это сам:
sudo aptitude install dpkg-dev dpkg-repack debhelper mc && mkdir spec && cd spec && sudo dpkg-repack libselinux1 libsemanage1 libsemanage-common (и все другие отмеченные буковкой "i"-installed в поиске aptitude) && sudo chown $USER.$USER ./* && mkdir pkg && ls
мы увидим в созданном нами каталоге "spec" запрошенные пакеты и каталог "pkg",далее:
dpkg --extract libselinux1 pkg && cd pkg && mc
и,оставляя нетронутым только каталог "DEBIAN",заходим в подкаталоги распакованного пакета,и удаляем все найденные установочные файлы,кроме,разве-что,манов и документации,но не само дерево подкаталогов!Такой себе ncurses интерфейс настройки фальш-пакета :) Затем:
cd .. && ls && dpkg-deb -b pkg libselinux1_2.1.13-2_i386.deb
важно,в имени собираемого пакета,изменить версию программы,по отношению к исходному пакету! - и вы получите пустой фальш-пакет,практика чего,не единожды была опробирована Canonical для принудительного обнуления неподдерживаемого софта у пользователей дистрибутива Ubuntu...Далее:
sudo dpkg -P --force-all libselinux1
Вынесет неугодный пакет из системы,невзирая на зависимости.
Предупреждение - возможно,некоторые важные команды системы перестанут работать,после удаления какой-либо из этих библиотек.Тогда вы сможете загрузиться с live cd и вручную распаковать требуемые файлы из пакетов по месту назначения и запомнив какие программы отказывались работать без этой библиотеки пересобрать их без поддержки Selinux или удовлетвориться ручным добавлением только необходимых библиотек Selinux в систему.
 
sudo dpkg -i libselinux1_новая_версия_.deb && sudo apt-get install -f
установит новый фальш-пакет в систему,а APT проверит и подтвердит,что никакие зависимости не нарушены,но и в системе больше нет нежеланного софта,а что бы так и оставалось можно сделать:
echo "libselinux1 hold" | sudo dpkg --set-selections
Соответственно все вышеприведённые операции по созданию и установке фальш-пакетов следует повторить в том же порядке и для всех других пакетов с элементами Selinux,затем выполнить:
sudo ldconfig -v && sudo update-initramfs -vuk all && sudo update-grub
3)Теперь у нас осталась единственная проблема - поддержка Selinux вкомпилена в само ядро!Выход,разумеется,прост - пересобрать ядро с действующим конфигом,через menuconfig найдя и отключив всякие упоминания о Selinux,ну и добавив пару-тройку новых плюшек,вроде поддержки планировщика BFQ,чтения/записи на UFS/HFS/HFS+ & etc...Надеюсь,расписывать здесь оффтоп сборки ядра не нужно - на форуме уже всё подробно описано...
   После успешной сборки,установки и прописывании параметров загрузки нового ядра в конфиге Grub,вы получите свободную от Selinux систему,а значит - миссия выполнена! :coolsmiley:
« Последнее редактирование: 29 Июня 2013, 05:50:35 от deblanck »

Оффлайн Pakostnik

  • Любитель
  • *
  • Сообщений: 97
    • Просмотр профиля
Re: Отключение и удаление SELINUX в Ubuntu/Debian
« Ответ #1 : 29 Июня 2013, 11:21:14 »
    Многие пользователи Ubuntu не очень рады тем фактом,что в последнее время,как и в Debian в дистрибутив по умолчанию интегрируется программный продукт NSA - Selinux. ... ИМХО - это вредное влияние красношляпников :)
    Теперь о том,как же избавиться от этого чуда:
Оужас! Но зачем?
Но продолжайте, если делать нехрен, немножко изучить вопрос лень, и ССЗБ.

 

Страница сгенерирована за 0.019 секунд. Запросов: 22.