Ich habe den Eindruck, dass es keine wirkliche Möglichkeit gibt, die Hosts-Datei vollständig zu schützen, ohne ein Nicht-Admin-Benutzerkonto auf meinem Mac zu erstellen und das Passwort des Admin-Kontos auf eines zu setzen, an das ich mich nicht erinnern werde.
Daher möchte ich als nächstbeste Alternative die Bearbeitung meiner Hosts-Datei erschweren .
Ich habe gelesen, dass es möglich ist, ein systemunveränderliches Flag für bestimmte Dateien zu setzen, das deaktiviert werden müsste, bevor die Dateien bearbeitet werden können.
Natürlich wäre es immer noch möglich, die Hosts-Datei zu bearbeiten, aber es würde es zumindest etwas kniffliger machen.
Ist dies eine empfehlenswerte Vorgehensweise? oder gibt es einen besseren Weg, es zu erreichen?
Das Schützen mit „schg“, dem unveränderlichen Flag des Systems, ist eine mögliche Lösung, je nachdem, wie viel Schutz Sie benötigen. Sie können das schg-Flag mit setzen
sudo chflags schg /etc/hosts
Das Entfernen des Schutzes hängt von Ihrer Kernel-Sicherheitsstufe ab. Laufen sysctl kern.securelevel
:
chflags noschg /etc/hosts
,sudo chflags noschg /etc/hosts
.Anstelle von schg können Sie in El Capitan und höher das eingeschränkte Flag des Systemintegritätsschutzes verwenden. Sie können mit Recovery HD booten, um das Flag zu setzen chflags restricted /etc/hosts
.
Dadurch wird die Datei vor Änderungen geschützt, während SIP aktiviert ist, was standardmäßig aktiviert ist und nur deaktiviert werden kann, indem die Recovery HD gestartet und ausgeführt wird csrutil disable
.
Überprüfen Sie den Status von SIP, indem Sie Folgendes ausführen csrutil status
: Wenn es aktiviert ist, können alle Dateien mit dem Restricted-Flag nicht geändert werden, ohne zuvor SIP von der Wiederherstellung zu deaktivieren, oder von Installern, die mit Apples Software-Update-Zertifikat signiert sind (selbst Root kann die Datei nicht ändern).
schg
wäre dies die einzige Option. Meine Kernel-Sicherheit scheint auch auf eingestellt zu sein 0
. Gibt es eine Möglichkeit, dies zu erhöhen?sudo chflags schg /etc/hosts
im Terminal zu laufen, aber ich kann immer noch auf die Hosts-Datei zugreifen mit sudo nano /etc/hosts
... ist das normal?sudo chflags schg
Befehl rückgängig zu machen, aber wenn ich ihn erneut ausführe, kann ich immer noch keine Hosts ändern?sudo chflags noschg /etc/hosts
um den Schutz zu entfernen.csrutil
@grgarside Wenn wir die von Ihnen erwähnte Technik
anwenden , gibt es eine Möglichkeit zu überprüfen, ob der Schutz für diese Datei aktiviert wurde, wie beispielsweise beim Überprüfen der Berechtigungen für einen Ordner oder eine Datei?chflags
die Option nicht erwähnt wird restricted
, gibt es eine Möglichkeit, ein detaillierteres Befehlshandbuch zu erhalten als das BSD General Commands Manual, das online weit verbreitet ist (einschließlich der Apple Developer Site)?
kein Hang