Я немного боролся с этим, и похоже, что в CentOS 6 произошел регресс, поскольку анаконда игнорировала selinux --disabled
директиву. Похоже, что это сначала появилось в RHEL 4.8 , а затем вновь появилось в RHEL 5.6 .
Теперь, с предыдущими выпусками, вы просто добавляете оператор sed в свою %post
директиву, чтобы отключить его.
sed -i -e 's/\(^SELINUX=\).*$/\1permissive/' /etc/selinux/config
Проблема, с которой я сталкиваюсь, заключается в том, что в RHEL / CentOS 6 новым является тот факт, что они устанавливают атрибуты файловой системы по умолчанию, так что теперь вам нужно их очистить.
Я попытался выполнить следующую команду, чтобы удалить эти атрибуты в моем %post
разделе, но это не имеет никакого эффекта.
find . -exec setfattr -x security.selinux {} \;
Мой файл кикстарта приведен ниже, если вы считаете его полезным:
#version=RHEL6
install
url --url=http://ny-man01.ds.stackexchange.com/centos/6/os/x86_64
lang en_US.UTF-8
keyboard us
%include /tmp/nic-include
rootpw --iscrypted <mmm no you don't even get the encrypted version>
firewall --service=ssh,ntp,snmp
authconfig --enableshadow --passalgo=sha512 --enablefingerprint --enablekrb5
selinux --disabled
timezone --utc Etc/UTC
bootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet"
# The following is the partition information you requested
# Note that any partitions you deleted are not expressed
# here so unless you clear all partitions first, this is
# not guaranteed to work
clearpart --all --initlabel --drives=sda
part /boot --fstype=ext4 --size=500
part pv.M3dTcp-jomG-l0xc-Zl3I-wqR1-Gcwz-14jidB --grow --size=1
volgroup vg_test --pesize=4096 pv.M3dTcp-jomG-l0xc-Zl3I-wqR1-Gcwz-14jidB
logvol / --fstype=ext4 --name=lv_root --vgname=vg_test --grow --size=1024 --maxsize=51200
logvol swap --name=lv_swap --vgname=vg_test --grow --size=1024 --maxsize=6016
services --enabled ntpd,snmpd,puppet
reboot
repo --name="CentOS" --baseurl=http://ny-man01.ds.stackexchange.com/centos/6/os/x86_64/ -- cost=100
repo --name="EPEL6" --baseurl=http://ny-man01.ds.stackexchange.com/epel/6/x86_64/
repo --name="SEI" --baseurl=http://ny-man01.ds.stackexchange.com/sei/
%packages
@base
@core
@hardware-monitoring
@perl-runtime
@server-policy
@system-admin-tools
pam_krb5
sgpio
perl-DBD-SQLite
epel-release-6-5
net-snmp
ntp
mercurial
puppet
%pre
echo "# `grep /proc/net/dev eth| cut -d: -f1 | cut -d' ' -f3` " >>/tmp/nic-include
echo "# auto generated nic setup" > /tmp/nic-include
for nic in `grep eth /proc/net/dev| cut -d: -f1 | cut -d' ' -f3`
do
if [ "$nic" = "eth0" ]
then
echo "network --device $nic --bootproto dhcp " >> /tmp/nic-include
else
echo "network --device $nic --onboot no --bootproto dhcp" >> /tmp/nic-inclu de
fi
done
%post --log /root/ks-post.log
#sed -i -e 's/\(^SELINUX=\).*$/\1disabled/' /etc/selinux/config
#find / -exec setfattr -x security.selinux {} \;
wget -O- http://10.7.0.50/kickstart/generic-configs/get_files.sh | /bin/bash
cp /tmp/nic-include /root/
%pre
строфе вы добавляете,/tmp/nic-include
а затем разбиваете ее на следующей строке.Ответы:
Установщик CentOS 6 по умолчанию загружает политики в разрешающем режиме (что я подтвердил, запустив dmesg во время установки). Это означает, что шаг после установки SELinux уже активен. Пока он работает, не похоже, что вы можете удалить атрибуты.
Перед началом установки вам нужно будет передать следующее куда-то (прямо в конце строки загрузчика ядра):
Так что-то вроде этого:
Вот что происходит, когда вы пытаетесь удалить атрибуты в разрешающем режиме (простите форматирование, SF кажется недовольным):
При отключенном selinux из grub во время загрузки:
Исходя из этого, а также из этого сообщения об ошибке , это, вероятно, означает, что вы не сможете удалить атрибуты после установки. Итак, как я уже говорил, вам нужно отключить selinux перед загрузкой установки.
(или вы можете просто оставить это в покое и научиться жить с этим. :)).
источник
Основной причиной проблемы является то, что Anaconda реализует атрибуты selinux во время процесса кикстарта (так что любое отключение после установки слишком поздно).
Я поместил методы отключения в файлы конфигурации хоста (на самом деле, они всегда были там):
НО, также добавил строку selinux = 0 в загрузочный файл PXE:
После перестройки системы все «точечные» обозначения исчезли !!!
источник