Cómo usar los indicadores de archivo para modificar el comportamiento de los archivos en macOS

Valora este post

Los indicadores son utilizados por macOS para limitar la forma en que se puede cambiar un archivo. Están configurados de forma diferente a los permisos y se ejecutan en una estructura paralela junto con comandos como chown y chmod. Usará chflags para cambiar las banderas, así como ls para ver las banderas. Unix ejecuta un sistema similar, pero con un mayor número de opciones llamadas “atributos” en lugar de banderas.

Visualización de Set Flags en macOS

En Terminal, puede usar una bandera ls para ver cualquier bandera existente.

ls -lO ~/14:01 Biblioteca

Si no hay banderas establecidas para un archivo o carpeta, se mostrará un guión en su lugar.

ls -lO ~/Library/Caches drwx--------+ 234 alexander staff - 7956 Jan 25 13:03 Caches

Set flags pueden ser removidos usando su inverso, como se describe a continuación.

Ajuste y eliminación de indicadores en macOS

Cómo usar los indicadores de archivo para modificar el comportamiento de los archivos en macOS 1Las banderas aparecen con mayor frecuencia como un problema. Debido a que establecen permisos adicionales, pueden ser fáciles de pasar por alto. ¿Se encuentra con un archivo que no se puede borrar, independientemente de lo elevados que sean sus permisos de usuario? Es posible que tenga que borrar una o dos banderas, las que se pueden establecer en macOS se enumeran a continuación. Esta es la lista completa de las opciones disponibles, así como una explicación de su funcionalidad. La mayoría de los indicadores sólo pueden ser configurados por el propietario del fichero o el superusuario; sappnd y schg sólo pueden ser configurados por el superusuario, ya que son indicadores a nivel de sistema. Sólo se puede establecer la bandera oculta sin escalada de privilegios.

Colocación de indicadores en macOS

Cuando establezca una bandera en macOS, use el comando de abajo. El indicador recursivo -R está disponible para operaciones a nivel de directorio:

sudo chflags -R[indicador] /usr/bin/local sudo chflags[flag] /usr/bin/local/mnt.sh chflags -R hidden ~/Desktop

establecerá la bandera apropiada. Por ejemplo, lo siguiente establece la bandera nodump:

sudo chflags nodump /usr/bin/local/tty.sh

Sólo se puede establecer o eliminar una bandera por cada comando chflags.

  • opaque establece que la carpeta aparezca opaca cuando se ve a través de un montaje de unión, una forma anticuada de ver múltiples directorios simultáneamente.
  • nodump evita que el archivo o carpeta se vuelque durante el uso del comando dump para realizar una copia de seguridad del sistema.
  • sappnd, sappend establece el indicador de sólo apéndice del sistema, que permite añadir el archivo pero no modificarlo o eliminarlo. La eliminación de este indicador requiere entrar en el modo de usuario único.
  • schg, schange, simmutable establece el indicador inmutable del sistema, que bloquea todos los cambios de archivos de todos los usuarios de cualquier nivel de privilegios. La eliminación de este indicador requiere que se introduzca el modo de usuario único.
  • uappnd, uappend fija el indicador de sólo aplicación de usuario. Esto puede ser configurado por el propietario del archivo y puede ser desactivado por el propietario sin necesidad de escalar privilegios. Dado que bloquea el archivo, con SAPPND o SCHG en un nivel de seguridad más bajo, se utiliza con mucha más frecuencia.
  • uchg, uchange, uimmutable establece el indicador de usuario inmutable, que tiene la misma relación con el indicador de sistema inmutable que el indicador uappnd tiene que sappnd.
  • hidden establece la bandera oculta. Esto oculta el elemento dentro de la GUI del Finder y los comandos ls.

Borrar banderas en macOS

Para borrar una bandera dada, establezca su opuesto. En la mayoría de los casos, esto significa adelantar “no” a su comando. En el caso de nodump, utilice el indicador dump para borrar, como so:

sudo chflags dump /usr/bin/local/oty.sh

Más términos estándar se pueden invertir con el prefijo “no”, como so:

sudo chflags nosappnd /usr/bin/local/oty.sh

Como en chmod, hay una bandera recursiva disponible:

chflags -R nohidden ~/Desktop

Una vez que se hayan borrado las banderas, podrá cambiar la propiedad y los permisos del archivo como se espera.

Uso de atributos en Unix

Cómo usar los indicadores de archivo para modificar el comportamiento de los archivos en macOS 2Unix ejecuta un sistema similar en el backend, pero se maneja con diferentes comandos. En las plataformas Linux más populares, tendrás acceso a chattr y lsattr. Los atributos se pueden ver con lsattr:

lsattr /path/to/file.txt

Changing attributes se basa en un código de inicialismo y se enumeran en la página de chattr man:

“Las letras’acdeijstuADST’ seleccionan los nuevos atributos para los archivos: append only (a), compressed (c), no dump (d), extent format (e), immutable (i), data journalling (j), secure deletion (s), no tail-merging (t), undeletable (u), no atime updates (A), synchronous directory updates (D), synchronous updates (S), and top of directory hierarchy (T)”.

El comando tiene el aspecto de so:

chattr +s /file/name.txt

That sets the secure deletion attribute for the specified path.

Envolviendo

Los indicadores son más útiles cuando se limita quién puede cambiar un archivo. Al bloquear los archivos, puede evitar manipulaciones o ediciones accidentales a nivel de sistema de archivos. Sin la escalada a root o al propietario del archivo, estos privilegios no se pueden cambiar, por lo que son moderadamente seguros.

Posts Relacionados