Solución:
Sí, Mac tiene muchas mejoras a Unix en el área de archivos. Ignorando el todo bifurcación de recursos cosa que ya no se usa mucho, hay:
- los permisos estándar de Unix
ugo
rwx
etcétera. Se aplican las herramientas normales de Unix. -
ACL‘s, visible con
ls -le
y cambiable conchmod [ -a | +a | =a ]
. -
banderas de archivo visible con
ls -lO
(Capital oh, no cero) y se puede cambiar conchflags
. -
atributos extendidos, visible con
ls [email protected]
(solo claves de atributo) y visible y modificable conxattr
. (Usarxattr -h
por ayuda siman xattr
no te da nada.) - A partir de OS X 10.11 “El Capitan”, Protección de la integridad del sistema (SIP) protege aún más algunos archivos de los cambios de los procesos ordinarios, incluso cuando se utiliza
sudo
correr comoroot
. Los archivos protegidos por SIP se enumerarán porls -lO
como teniendo elrestricted
bandera y / o ser incluido porls [email protected]
como teniendo elcom.apple.rootless
atributo.
Se le pueden negar operaciones en un archivo debido a permisos de Unix, ACL, marcas de archivo o SIP. Para desbloquear completamente un archivo:
sudo chmod -N file # Remove ACLs from file
sudo chmod ugo+rw file # Give everyone read-write permission to file
sudo chflags nouchg file # Clear the user immutable flag from file
sudo chflags norestricted file # Remove the SIP protection from file
sudo xattr -d com.apple.rootless file # Remove SIP protection from file
Si la protección de integridad del sistema (SIP) está habilitada, sudo chflags norestricted
y sudo xattr -d com.apple.rootless
también devolverá un error de “Operación no permitida”. Para borrar la bandera y / o atributo, debe iniciar en MacOS Recovery y ejecutar los comandos desde la Terminal (es posible que primero tenga que usar la Utilidad de Discos para desbloquear y montar su unidad de arranque, luego recuerde que sus archivos estarán debajo /Volumes/Macintosh HD
o como se llame su unidad de arranque) o deshabilite SIP por completo y luego reinicie y los comandos deberían funcionar. Sin embargo, tenga en cuenta que es probable que las futuras actualizaciones del sistema restricted
bandera y com.apple.rootless
atributo a los archivos de los que lo eliminó.
No se recomienda deshabilitar SIP ya que elimina gran parte de la protección contra malware y daños accidentales, además de que no es necesario cuando simplemente puede eliminar la protección por archivo. Si deshabilita SIP, vuelva a habilitarlo cuando haya terminado de realizar cambios.
Tenga en cuenta que si ls -lO
muestra el schg
La bandera está configurada, debe ingresar al modo de usuario único para desarmarla. No voy a entrar en eso aquí, ya que hay preguntas más importantes sobre por qué el archivo tiene ese indicador establecido y por qué está tratando de meterse con él y cuáles serán las consecuencias.
Yo tuve el mismo problema. Resulta que el sistema operativo marcó los archivos infractores como “Bloqueados”. Encontré esta solución y resolvió los problemas en segundos:
http://explanatorygap.net/2005/07/10/unlocking-files-recursively-from-the-command-line/
Parece que el
rm
El comando ha cambiado en Tiger de modo que si usarm -Rf
con privilegios elevados, desbloqueará automáticamente los archivos.
En OS X antes de Tiger: find /Volumes/Transit -flags +uchg -print0 | xargs -0 chflags nouchg
En OS X después de Tiger: sudo rm -Rf foldername/
Además, incluso después de OS X 10.4, puede haber marcas de metadatos de archivos como uchg
y uappnd
, que impiden cualquier modificación de los permisos o la propiedad del archivo. chflags
puede quitar las banderas. Algunos de los atributos / metadatos del archivo y cómo los manejan las diferentes herramientas de copia están aquí.
Tuve el mismo problema con Crashplan.app.
Todas las soluciones enumeradas aquí no me ayudarían, pero esta funcionó: http://forums.macrumors.com/showthread.php?t=1546163
Tienes que cambiar las banderas inmutables del sistema y del usuario:
Haga esto para ver qué banderas están activas en su archivo / carpeta:
ls -lhdO MyFile
La respuesta podría verse así:
drwxrwxr-x 3 root admin schg,uchg 102B Apr 8 2013 MyFile
schg,uchg son esas banderas inmutables. Uno para el sistema y otro para el usuario. Para eliminarlos, haga lo siguiente:
chflags noschg CrashPlan.app # this removes system immutable flag
chflags nouchg CrashPlan.app # this removes the user immutable flags
Entonces, al menos para mí, ¡el archivo está desbloqueado y puedes eliminarlo!