Tengo la impresión de que no hay una forma real de proteger el archivo de hosts por completo sin crear una cuenta de usuario que no sea administrador en mi Mac y establecer la contraseña de la cuenta de administrador en una que no recordaré.
Por lo tanto, me gustaría dificultar la edición de mi archivo de hosts como la siguiente mejor alternativa.
He leído que es posible establecer un indicador inmutable del sistema en archivos específicos que deberían desactivarse antes de poder editar los archivos.
Entonces, por supuesto, aún sería posible editar el archivo de hosts, pero al menos lo haría un poco más complicado.
¿Es este un enfoque recomendado? o hay una mejor manera de lograrlo?
La protección con 'schg', el indicador inmutable del sistema, es una posible solución, según la cantidad de protección que necesite. Puede configurar la bandera schg usando
sudo chflags schg /etc/hosts
La eliminación de la protección depende del nivel de seguridad de su kernel. ejecutar sysctl kern.securelevel
:
chflags noschg /etc/hosts
,sudo chflags noschg /etc/hosts
.En lugar de schg, puede usar el indicador restringido de System Integrity Protection en El Capitan y versiones posteriores. Puede iniciar Recovery HD para configurar el indicador usando chflags restricted /etc/hosts
.
Esto protege el archivo de la modificación mientras SIP está habilitado, que está habilitado de forma predeterminada y solo se puede deshabilitar iniciando Recovery HD y ejecutando csrutil disable
.
Verifique el estado de SIP ejecutando csrutil status
: si está habilitado, los archivos con el indicador restringido no se pueden modificar sin deshabilitar SIP desde la Recuperación primero o mediante instaladores firmados con el certificado de Actualización de software de Apple (incluso la raíz no puede modificar el archivo).
schg
es la única opción entonces... la seguridad de mi kernel también parece estar configurada en 0
, ¿hay alguna manera de aumentar esto?sudo chflags schg /etc/hosts
en Terminal, pero aún puedo acceder al archivo de hosts con sudo nano /etc/hosts
... ¿es esto normal?sudo chflags schg
comando, sin embargo, si lo ejecuto de nuevo, ¿todavía no puedo modificar los hosts?sudo chflags noschg /etc/hosts
para eliminar la protección.csrutil
técnica que mencionó, ¿hay alguna forma de verificar que la protección en ese archivo se haya activado como cuando se verifican los permisos para una carpeta o archivo, por ejemplo?chflags
no mencionan la restricted
opción, ¿hay alguna manera de obtener un manual de comandos más detallado que el Manual de comandos generales de BSD ampliamente utilizado en línea (incluido el sitio de desarrolladores de Apple)?
sin ladera