Traté de mover algunos archivos a una subcarpeta en OS X. Uno se negó a mover. dijo Operation not permitted
. Lo intenté de nuevo como root:
$ sudo mv file subfolder/
mv: rename file to subfolder/file: Operation not permitted
$ sudo mv file filex
mv: rename file to filex: Operation not permitted
$ lsattr file
lsattr: Inappropriate ioctl for device While reading flags on file
Probé lsattr
con otros archivos; todos los archivos que probé me dieron el mismo mensaje:Inappropriate ioctl for device While reading...
Viniendo de Linux, no sabía acerca de las banderas, así que aquí está el resultado de ls -leO@ file
:
$ ls -leO@ file otherfile
-rwxrwxrwx 1 eeytan staff uchg 79549 Nov 11 2010 file
-rw-r--r-- 1 eeytan staff - 5071 Sep 7 02:37 otherfile
Probé la Utilidad de disco de OS X; decía que no había errores en mi disco. ¿Que está pasando aqui?
Parece que el archivo está bloqueado para mí, por lo que aparece el atributo uchg. Debería poder usar el siguiente comando para eliminar el atributo bloqueado:
chflags nouchg file
o haga clic derecho en el archivo en el Finder, haga clic en "Obtener información" y luego desmarque la casilla de verificación "Bloqueado"
Para las personas que se topan con esto en una era OS X 10.11+ (El Capitan o más reciente): Apple ha agregado una capa completamente nueva de seguridad en OS X. Le han quitado algunos privilegios a la raíz. El archivo que intenta modificar tiene una restricted
bandera. Solo restricted
los procesos firmados por Apple podrán modificar estos archivos. Sin embargo, puede deshabilitar este sistema de seguridad iniciando en modo de recuperación y deshabilitándolo en una Terminal haciendo lo siguiente: csrutil disable
.
Alternativamente, también puede simplemente iniciar Terminal en modo de recuperación y eliminar el archivo allí. O incluso intente arrancar en un entorno Linux con soporte HFS+ (al menos si aún no está en APFS) para cambiar el archivo.
restricted
bandera con/bin/ls -lO
Tratar:
chflags -f -R nouchg directory
en un directorio de nivel superior para detener este problema.
zsh: locking failed for /Users/me/.zhistory: operation not permitted: reading anyway
y al ejecutar este comando en mi directorio de inicio lo solucionéTenía un archivo que no podía eliminar en la terminal:
$ sudo ls -leO@ foo@example.com/Documents/.%cb_defense/cb.doc
-rw-rw-rw- 1 root wheel - 41984 1 Mar 11:20 foo@example.com/Documents/.%cb_defense/cb.doc
$ sudo rm -rf foo@example.com/Documents/.%cb_defense/cb.doc
rm: foo@example.com/Documents/.%cb_defense/cb.doc: Operation not permitted
Lo que funcionó para mí fue abrir Finder y eliminar todo el directorio contenedor. Según tengo entendido, Finder elimina los directorios como una unidad sin tener en cuenta por completo su contenido, por lo que no está sujeto a las mismas restricciones que el archivo rm -rf
.
También tuve este problema y descubrí que la carpeta en la que estaba el archivo estaba bloqueada. Así que asegúrate de que eso no sea cierto. Haga "obtener información" sobre la carpeta en el buscador y asegúrese de que la casilla de verificación bloqueada no esté marcada.
Bajo OS 10.15 esto funcionó para mí:
-f
no fuerza nada, solo responde algunas preguntas de permiso y
automáticamente.Una respuesta anterior decía usar:
chflags -f -R nouchg directory
Hay dos atributos diferentes que impiden cambiar un archivo. "uchg" evita que el usuario cambie el archivo; "schg" evita que el sistema realice un cambio. Use ls -le0@ para ver cuál es su problema, o use apple-I: si "bloqueado" está marcado pero no atenuado, entonces "uchg" está configurado. Si "bloqueado" está marcado Y atenuado, entonces "schg" está configurado.) Si está configurado "uchg", la respuesta anterior funcionará. Si se establece "schg", entonces haga esto en su lugar:
chflags -f -R noschg directory
Es posible que la terminal no tenga permiso para acceder a su archivo present working directory
.
pwd
).System Preferences > Security & Privacy > Privacy > Files and Folders
Si la Terminal tiene permisos y el comando aún recibe un error, verifique las soluciones proporcionadas en otras respuestas.
Me doy cuenta de que este es un tema muy antiguo, pero no veo que este hilo aborde mi síntoma, así que pensé en publicar otra opinión.
Esto me sucedió con una unidad externa que funcionaba perfectamente en un Snow Leopard iMac, que se actualizó a El Capitan en el camino. A principios de este año, tomé esa unidad y la puse en una nueva caja de Windows 10 que ejecutaba Paragon HFS para Windows. Copié cientos de GB de archivos DESDE Windows A HFS+ en ese disco y lo volví a conectar al iMac. Todo funcionó bien, excepto un script de shell que tenía que almacenaba archivos para la copia de seguridad y encontró este problema uchg.
En resumen: los archivos y carpetas creados en El Capitan o Windows 10 con Paragon HFS, cuando se mueven de nuevo a un cuadro de Snow Leopard, el cuadro de radio "bloqueado" NO se marcará cuando seleccione Get Info
en el Finder. Sin embargo, las sugerencias de otros funcionaron bien para mí:
ls -leO@
(eso es mayúscula) en un archivo sospechosochflags -R nouchg
en el directorio principal (no hay -f en Snow Leopard)Funcionará, pero no espere exactamente las mismas señales visuales si su disco ha pasado de un sistema operativo a otro o si usa Paragon HFS.
gordon davisson
lsattr
no es un comando OS X estándar; pruebals -leO@
en su lugar. Además, ¿en qué volumen está el archivo? Intentemount
ver con qué atributos está montado el volumen.eje211
bmike