Ich habe das Label SELinux hinzugefügt svirt_sandbox_file_t
zu/home
chcon -Rt svirt_sandbox_file_t /home
Die Bezeichnung wird folgendermaßen dargestellt:
[user@localhost ~]$ ls -Z
unconfined_u:object_r:svirt_sandbox_file_t:s0 Desktop
unconfined_u:object_r:svirt_sandbox_file_t:s0 Documents
...
Wie kann ich das svirt_sandbox_file_t
Etikett wieder entfernen?
Ich habe versucht, neu zu starten und habe ein hinzugefügt, /home/.autorelabel
um eine Neubeschriftung auszulösen, aber die Beschriftung verschwindet nicht. Ich verwende Fedora 23.
Antwort1
Ich glaube, wenn Sie den Neustart einstellen /etc/selinux/config
. disabled
Dann stellen Sie es auf enforcing
und starten neu, dann wird es neu beschriftet, falls Sie sonst Probleme damit hatten. Es ist allerdings seltsam, dass restorecon nicht funktioniert hat.
Wenn Sie die Dinge auf die harte Tour zurücksetzen möchten, sollte das /home-Verzeichnis selbst wie folgt lauten:
system_u:object_r:home_root_t
und jedes Benutzer-Home-Verzeichnis (und die darin enthaltenen Dateien) sollte sein:
unconfined_u:object_r:user_home_dir_t:s0
chcon
Sie können diese entweder mit dem Befehl oder mit einer Kombination aus semanage
und festlegen .restorecon
chcon -t home_root_t /home
chcon -Rt user_home_dir_t /home/*
oder
semanage fcontext -a -t home_root_t /home
semanage fcontext -a -t user_home_dir_t /home/*
restorecon -R /home
bitte beachte, dassallgemein gesagt chcon
wird verwendet, um eine sofortige Änderung zu erzwingen, während die Standardeinstellungen beibehalten werden, sodass restorecon
die Standardkontexte wiederhergestellt werden. In Ihrem Fall scheint das aus irgendeinem Grund schiefgegangen zu sein.
Im Allgemeinen semanage fcontext
ist vorgesehen, eine lokale Kontextdatei zu schreiben in/etc/selinux/targeted/contexts/files/file_contexts.local
Eine Fülle von Informationen zum aktuellen Kontext und zu Standardkontexten finden Sie unter:
/etc/selinux/targeted/contexts/default_contexts
/etc/selinux/targeted/contexts/files/file_contexts
/etc/selinux/targeted/contexts/files/file_contexts.homedirs
Es ist möglich, dass diese Dateien irgendwie beschädigt wurden, und insgesamt gibt es viele Unterkontexte, die durch die oben genannten Aktionen möglicherweise nicht vollständig wiederhergestellt werden können, je nachdem, wie diese Dateien geändert wurden. Es ist möglicherweise eine gute Idee, diese Dateien zu untersuchen und zu prüfen, ob Sie Ihre hinzugefügte Kontextzuordnung finden und sie auf diese Weise ebenfalls entfernen können.
Theoretisch könnten Sie auch eine virtuelle Maschine oder eine andere Maschine verwenden (oder sie einfach online finden) und die bekannten guten Standardeinstellungen in die entsprechenden Verzeichnisse kopieren und dem System erlauben, sie neu zu benennen, um die richtigen Standardeinstellungen zu erhalten. Auch dies wird jedoch einige Nachteile haben.
Letztendlich wird ein wenig Ausprobieren erforderlich sein. Die oben aufgeführten chcon/semanage-Befehle sollten Ihnen die groben Umrisse vermitteln, es ist jedoch möglich, dass einige Ihrer Unterverzeichnisse ihre eigenen Kontexte haben.
Einige zusätzliche Kontexte, die hilfreich sein könnten (alle davon befinden sich in /home/Benutzername), wären:
ls -laZ /home/username
##context########################### Directory##
unconfined_u:object_r:cache_home_t:s0 .cache
unconfined_u:object_r:config_home_t:s0 .config
unconfined_u:object_r:dbus_home_t:s0 .dbus
unconfined_u:object_r:gconf_home_t:s0 .gconf
unconfined_u:object_r:gconf_home_t:s0 .gconfd
unconfined_u:object_r:gpg_secret_t:s0 .gnupg
unconfined_u:object_r:gconf_home_t:s0 .local
unconfined_u:object_r:ssh_home_t:s0 .ssh
Bitte beachten Sie, dass dies auf meinem Home-Verzeichnis basiert. Möglicherweise müssen Sie noch mehr herausfinden, aber wenn Sie die meisten dieser Angaben richtig machen, sollten Sie mehr oder weniger wieder auf dem richtigen Weg sein.