Sistema: macOS Catalina 10.15.2
Antecedentes: he sido usuario de *nix durante muchos años. Utilizo un servidor Linux remoto donde se usa el directorio raíz (es decir, hay carpetas donde los usuarios pueden leer y escribir, como /data y /analyses), y he usado macOS de la misma manera hasta ahora. Recibí una nueva MacBook de mi lugar de trabajo este año. Administro la máquina, por lo que puedo cambiar cualquier cosa que pueda hacer el root.
Con el interés de continuar usando el sistema de organización de archivos en nuestro servidor remoto, he deshabilitado SIP y estoy montando / con lectura/escritura en cada arranque (de manera similar a como se hace aquí ) . Puedo trabajar en las carpetas /data
y /analyses
usando la Terminal sin problemas, pero cuando se trata de usar Finder, este no es el caso. No es posible crear y eliminar carpetas y archivos con Finder. Este no es el caso con otras aplicaciones GUI (por ejemplo, puedo usar un editor de texto como Sublime para editar archivos de texto sin formato en estas carpetas, o crear y guardar nuevos en el directorio de mi elección).
Problema: cuando uso Finder para mover o modificar estos archivos (por ejemplo, arrastrar un archivo a la Papelera), aparece un mensaje de advertencia: "file" can't be modified or deleted because it's required by macOS
. Puedo eliminar o modificar estos archivos con otras aplicaciones, incluida Terminal, pero por comodidad me gustaría que me ayudaran a encontrar una solución a este problema con Finder (por ejemplo, ¿hay algo que pueda cambiar con los permisos de Finder? o con los permisos establecidos por macOS para los directorios en los que estoy trabajando).
Lo que ya probé: cambiar los permisos/propiedad de archivos y carpetas con chmod
y chown
, sin efecto en el comportamiento de Finder
p.d. A menos que esté seguro de que ayudará directamente a resolver este problema con Finder, gracias de antemano por dejar de lado las conferencias sobre por qué debería volver a habilitar SIP, ya las he escuchado todas. :)
Si necesita crear directorios fuera de la raíz, la mejor opción es usar firmlinks, que se puede configurar usando /etc/synthetic.conf
. Desde la página del manual:
...
synthetic.conf is intended to be used for creating mount points at /
(e.g. for use as NFS mount points in enterprise deployments) and symbolic
links (e.g. for creating a package manager root without modifying the
system volume). synthetic.conf is read by apfs.util(8) during early sys-
tem boot.
...
Si crea /data
y /analyses
en otro lugar y luego tiene los enlaces administrados por synthetic.conf
, debería poder evitar deshabilitar SIP y poder acceder a esos directorios desde Finder.
Utilizo un servidor Linux remoto donde se usa el directorio raíz (es decir, hay carpetas donde los usuarios pueden leer/reproducir, como /data y /analyses)... Con el interés de continuar usando el sistema de organización de archivos en nuestro servidor remoto, He deshabilitado SIP y estoy montando/con lectura/escritura en cada arranque
Lo primero y más importante a tener en cuenta es que macOS ≠ Linux . Lo que Linux le permite "salir con la suya" no siempre es una buena práctica para la administración del sistema. Cuando reducimos todo, lo que básicamente está preguntando es sobre la ubicación de dos carpetas y el directorio raíz en realidad no es el mejor lugar para ellas, por lo tanto, los problemas con los que se encuentra.
Al deshabilitar SIP, elimina una de las protecciones clave que hacen de macOS uno de los sistemas operativos más seguros del mercado actual. Hacerlo para eludir la arquitectura de seguridad y poder crear carpetas/volúmenes de montaje que residen en el directorio raíz es contraproducente. En lugar de luchar contra el sistema operativo, es mejor trabajar con él.
A menos que esté seguro de que ayudará directamente a resolver este problema con Finder...
No es un problema con Finder. SIP existe desde hace mucho tiempo; desde que se estrenó El Capitán (10.11) en 2015. Esto no es nada nuevo. Sin embargo, la nueva estructura de contenedor APFS de tener dos volúmenes, uno grabable y otro no (agregado - Data
al nombre del volumen) es nueva. Si bien algunos de los cambios de seguridad que Apple ha implementado causan más dolores de cabeza de los necesarios, este no es uno de ellos.
En realidad, esto es algo que los administradores del sistema deberían estar haciendo: fortalecer el sistema y limitar qué y dónde puede escribir el usuario al "contenerizar" (sandboxing) los directorios/volúmenes con los permisos adecuados de lectura/escritura/ejecución.
Nuevamente, el directorio raíz no es realmente un lugar apropiado para datos compartidos , ya sea macOS o Linux. Ya sea que estos directorios sean locales para la Mac (la Mac es el recurso compartido de red), o si los está montando desde un servidor de archivos remoto, deben colocarse en un volumen protegido como en /Users/Shared
o montarse en /Volumes
. El razonamiento detrás de esto es que puede establecer los derechos "principales" y aplicarlos a todas las carpetas secundarias, mientras que si tuviera que modificar los derechos de algo en el directorio raíz, podría aplicar los permisos incorrectos en todo el sistema.
Incluso mi Synology NAS (basado en Linux) no me permite crear recursos compartidos en la carpeta raíz. Me obliga a montarlos en un subvolumen con permisos que yo (con acceso de root) no puedo modificar.
Vas contra la corriente aquí; trabajar con el sistema operativo y no contra él. Si descubre que necesita deshabilitar todas las protecciones con las que vino el sistema, es probable que no esté siguiendo una de las mejores prácticas de la industria. No intente forzar a macOS y Finder a comportarse de cierta manera porque puede "hacerlo en Linux"; siga su ejemplo y tendrá un sistema seguro, disponible y, lo que es más importante, confiable en el que sus usuarios pueden confiar.
sudo chown -R _WWW:_WWW /
tal como ha sido editado desde entonces, es totalmente capaz de estropear partes del sistema sin deshabilitar SIP . En una VM macOS Catalina 10.15.4 de construcción limpia , ese comando simplemente cambió la _propiedad y el grupo en más de 54,700 archivos/directorios y arruinó totalmente el sistema mientras SIP estaba habilitado.
usuario3439894
óvulo
usuario3439894
/dev
óvulo
usuario3439894