Cómo usar marcas de archivos para modificar su comportamiento en macOS

se usa medios de comunicación Por macOS para limitar cómo se cambian los archivos. Se configuran de manera diferente a los permisos y se ejecutan en una arquitectura paralela junto con comandos como chown و chmod. utilizará chflags Para cambiar banderas, también ls para mostrar las señales. Unix ejecuta un sistema similar, pero con más opciones llamadas "atributos" en lugar de banderas.

Cómo usar marcas de archivos para modificar su comportamiento en macOS - Mac

Ver banderas establecidas en macOS

En Terminal, puede usar el indicador ls para mostrar cualquier indicador existente.

ls -lO 

~/Librarydrwx------@ 88  alexander staff hidden 2992 Jan 25 14:01 Library

Si no hay banderas para un archivo o carpeta, se mostrará . guión En vez de eso.

ls -lO ~/Library/Caches

drwx------+ 234 alexander staff   -    7956 Jan 25 13:03 Caches

Las banderas se pueden quitar usando su inversa, como se muestra a continuación.

Configuración y eliminación de banderas en macOS

Cómo usar marcas de archivos para modificar su comportamiento en macOS - Mac

Las banderas a menudo surgen como un problema. Dado que otorga permisos a un permiso adicional, puede ser fácil pasarlo por alto. ¿Te encuentras con un archivo que no se puede borrar, sin importar cuán altos sean tus permisos de usuario? Es posible que deba borrar una o dos banderas.

Las banderas que se pueden configurar en macOS se enumeran a continuación. Esta es la lista completa de opciones disponibles, así como una explicación de su funcionalidad. La mayoría de los indicadores solo los puede establecer el propietario del archivo o el superusuario; sappnd y schg solo pueden ser configurados por el superusuario, ya que son banderas de todo el sistema. El indicador oculto solo se puede establecer sin una escalada de privilegios.

Configuración de banderas en macOS

Al configurar banderas en macOS, use el siguiente comando. El indicador recursivo -R está disponible para operaciones a nivel de directorio:

sudo chflags -R [flag] /usr/bin/local

sudo chflags [flag] /usr/bin/local/mnt.sh

chflags -R hidden ~/Desktop

Seleccionarás la bandera apropiada. Por ejemplo, lo siguiente designa una bandera nódulo:

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

Solo se puede establecer o eliminar una bandera por comando chflags.

Opacidad Establece la carpeta para que aparezca opaca cuando la ve montaje de unión , que es una forma antigua de mostrar varios directorios simultáneamente.

  • nódulo Evita que el archivo o la carpeta se vacíen mientras usa el comando de volcado para hacer una copia de seguridad de su sistema.
  • sapnd , levantarse agregar Establece solo el indicador de adición del sistema, que permite que el archivo se agregue a un directorio, pero no se modificará ni eliminará. La eliminación de esta bandera requiere la entrada en modo de usuario único.
  • schg، cambio، simmutable Establece un indicador de sistema estático, que bloquea todos los cambios de archivos realizados por todos los usuarios en cualquier nivel de privilegio. Eliminar esta bandera requiere entrar en un modo de usuario único.
  • añadir ، agregar Especifica el indicador de adición solo para el usuario. Esto puede ser configurado por el propietario del archivo y puede ser desactivado por el propietario sin escalar los privilegios. Dado que el archivo está bloqueado, con sappnd o schg en un estado de seguridad más bajo, se usa con más frecuencia.
  • uchg، cambio، uinmutable Establece el indicador de usuario estático, que tiene la misma relación que el indicador del sistema estático, ya que se debe mostrar el indicador uappnd.
  • oculto Define la ciencia oculta. Esto oculta el elemento dentro de la GUI del Finder y los comandos ls.

Eliminar banderas en macOS

Para borrar una bandera específica, pon su inversa. En la mayoría de los casos, esto significa un cumplimiento previo de "no" a su pedido. en caso nódulo , usa la bandera arrojar para borrarlo, como:

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

Se pueden revertir más términos estándar usando el prefijo "no" , Me gusta:

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

Al igual que con chmod , la etiqueta iterativa está disponible:

chflags  -R nohidden ~/Desktop

Una vez que se borran las banderas, puede cambiar la propiedad y los permisos del archivo como se esperaba.

Uso de atributos en Unix

Cómo usar marcas de archivos para modificar su comportamiento en macOS - Mac

Unix ejecuta un sistema similar en el backend, pero se maneja con diferentes comandos. En las plataformas Linux más populares, podrá acceder a charlar و lsattr. Estas banderas se usan para cambiar y mostrar "atributos", que es lo que hacen las banderas en la mayoría de las otras instalaciones de Unix.

Las características se pueden encontrar con lsattr:

lsattr /path/to/file.txt

El cambio de atributos depende del código de configuración inicial y se enumera en la página chat principal:

Las letras 'acdeijstuADST' definen nuevos atributos para archivos: agregar solo (a), comprimido (c), sin volcado (d), formato de extensión (e), inmutable (i), registro en diario (j), eliminación segura (s), sin combinación de cola (t), imborrable (u), sin actualizaciones de onime (A), actualizaciones de directorio sincrónicas (D), actualizaciones sincrónicas (S) y la parte superior de la jerarquía de directorios (T). “

Se parece a esto:

chattr +s /file/name.txt

Establece el atributo de eliminación segura para la ruta especificada.

Embalaje

Las banderas son muy útiles para decidir quién puede cambiar el archivo. Al bloquear los archivos, puede evitar la manipulación o las modificaciones no deseadas en el nivel del sistema de archivos. Sin escalar a la raíz o al propietario del archivo, estos privilegios no se pueden cambiar, por lo que es moderadamente seguro.

Ir al botón superior