Ich habe ein bisschen mit diesem gekämpft und es scheint, dass es in CentOS 6 eine Regression gegeben hat, soweit Anaconda die selinux --disabled
Richtlinie ignoriert . Dies scheint zuerst in RHEL 4.8 und dann in RHEL 5.6 wieder aufgetaucht zu sein .
Mit den vorherigen Versionen würden Sie jetzt einfach die sed-Anweisung zu Ihrer %post
Direktive hinzufügen , um sie zu deaktivieren.
sed -i -e 's/\(^SELINUX=\).*$/\1permissive/' /etc/selinux/config
Das Problem, auf das ich stoße, ist, dass neu in RHEL / CentOS 6 die Tatsache ist, dass standardmäßig Dateisystemattribute festgelegt werden, sodass Sie diese jetzt löschen müssen.
Ich habe versucht, den folgenden Befehl auszuführen, um diese Attribute in meinem %post
Abschnitt zu entfernen, aber er hat keine Auswirkungen.
find . -exec setfattr -x security.selinux {} \;
Meine Kickstart-Datei ist unten, falls Sie sie hilfreich finden:
#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
Strophe hängen Sie an/tmp/nic-include
und streichen es dann in der nächsten Zeile.Antworten:
Das CentOS 6-Installationsprogramm lädt die Richtlinien standardmäßig im zulässigen Modus (was ich durch Ausführen von dmesg während der Installation bestätigt habe). Mit dem Schritt nach der Installation ist SELinux bereits aktiv. Solange es ausgeführt wird, können Sie die Attribute nicht entfernen.
Sie müssen vor Beginn der Installation irgendwo Folgendes übergeben (direkt am Ende des Kernels die Bootloader-Zeile):
Also so etwas wie das:
Folgendes passiert, wenn Sie versuchen, die Attribute im zulässigen Modus zu entfernen (verzeihen Sie die Formatierung, SF scheint unglücklich zu sein):
Wenn selinux beim Booten von grub deaktiviert ist:
Auf der Grundlage dieser und diesen Fehler melden , ist dies wahrscheinlich bedeutet , dass Sie nicht in der Lage sein , installieren die Attribute in der Post zu entfernen. Wie bereits erwähnt, müssen Sie selinux deaktivieren, bevor Sie die Installation starten.
(oder du kannst es einfach in Ruhe lassen und lernen, damit zu leben. :)).
quelle
Die 'Hauptursache' des Problems ist, dass Anaconda die Selinux-Attribute während des Kickstart-Prozesses implementiert (so dass eine Deaktivierung nach der Installation zu spät ist).
Ich habe die Deaktivierungsmethoden in die Host-Konfigurationsdateien eingefügt (tatsächlich waren sie immer vorhanden):
ABER, fügte auch die Zeichenfolge 'selinux = 0' zur PXE-Bootdatei hinzu:
Nach dem Wiederaufbau des Systems waren alle 'Punkt'-Notationen verschwunden !!!
quelle