Articulo de referencia

chattr

El comando `chattr` en Linux permite al usuario establecer ciertos atributos de un archivo. El comando `lsattr` muestra los atributos de un archivo. La mayoría de los sistemas t...

El comando `chattr` en Linux permite al usuario establecer ciertos atributos de un archivo. El comando `lsattr` muestra los atributos de un archivo.

La mayoría de los sistemas tipo BSD , incluido macOS , siempre han tenido un comando análogo , chflags, para establecer los atributos, pero ningún comando específico para mostrarlos; en su lugar, se utilizan opciones específicas del comando ls . El comando chflags apareció por primera vez en 4.4BSD .

Solaris no tiene comandos específicamente destinados a manipularlos. En su lugar se utilizan chmod [ 1 ] y ls [ 2 ] .

En general, otros sistemas operativos tipo Unix no tienen comandos análogos. Existen los comandos de nombre similar chatr (de HP-UX ) y lsattr (de AIX ), pero sus funciones no están relacionadas.

Entre otras cosas, el comando chattr es útil para hacer que los archivos sean inmutables, de modo que los archivos de contraseñas y ciertos archivos del sistema no se puedan borrar durante las actualizaciones de software. [ 3 ]

En sistemas Linux ( chattr y lsattr )

Compatibilidad con el sistema de archivos

Las herramientas de línea de comandos chattr (para manipular atributos) y lsattr (para listar atributos) eran originalmente específicas de la familia Second Extended Filesystem ( ext2 , ext3 , ext4 ) y están disponibles como parte del paquete e2fsprogs .

Sin embargo, esta funcionalidad se ha extendido, total o parcialmente, a muchos otros sistemas, incluidos XFS , ReiserFS , JFS y OCFS2 . El sistema de archivos btrfs incluye la funcionalidad de atributos, incluido el Cindicador, que desactiva la función de copia en escritura (CoW) integrada de btrfs debido al menor rendimiento asociado con CoW.

Descripción de chattr

La forma del comando chattr es:

chattr [ -RVf ] [ -+ = AacDdijsTtSu ] [ -v versión ] archivos... 
  • -Rcambia recursivamente los atributos de los directorios y su contenido.
  • -Ves ser detallado e imprimir la versión del programa
  • -fsuprime la mayoría de los mensajes de error

Descripción del atributo lsattr

Formato del comando lsattr (gnu 1.41.3):

lsattr [ -RVadv ] [ archivos... ]
  • -Renumera recursivamente los atributos de los directorios y su contenido.
  • -Vmuestra la versión del programa
  • -aEnumera todos los archivos en los directorios, incluidos los archivos ocultos.
  • -dEnumera los directorios como si fueran otros archivos, en lugar de enumerar su contenido.

Atributos

Algunos atributos incluyen:

Notas

  1. 1 2 Solo el superusuario o un proceso que posea laCAP_LINUX_IMMUTABLEcapacidad puede establecer o borrar estos atributos.
  2. 1 2 3 Estos atributos no son respetados por los sistemas de archivos ext2 y ext3 tal como están implementados en los núcleos principales de Linux actuales.
  3. Estos atributos solo tienen sentido para sistemas de archivos de copia en escritura como btrfs .
  4. Solo el superusuario o un proceso que posea laCAP_SYS_RESOURCEcapacidad puede establecer o borrar este atributo.
  5. Este atributo no es respetado por el sistema de archivos ext4 tal como está implementado en los núcleos principales actuales de Linux como se informó en el error #17872 archivado el 30-01-2015 en Wayback Machine .

En sistemas tipo BSD ( chflags )

Compatibilidad con el sistema de archivos

El comando chflags no es específico de sistemas de archivos particulares. UFS en sistemas BSD, y APFS , HFS+ , SMB , AFP y FAT en macOS admiten al menos algunas opciones.

Descripción de chflags

La forma del comando chflags es:

chflags [ -R [ -H | -L | -P ]] archivo de indicadores ... 
  • -HSi se especifica la opción -R, se siguen los enlaces simbólicos de la línea de comandos. (Los enlaces simbólicos encontrados durante el recorrido del árbol no se siguen).
  • -LSi se especifica la opción -R, se seguirán todos los enlaces simbólicos.
  • -PSi se especifica la opción -R, no se siguen los enlaces simbólicos. Esta es la configuración predeterminada.
  • -RModifique los indicadores de archivo para las jerarquías de archivos que tienen su raíz en los archivos, en lugar de solo para los archivos mismos.

Mostrando

Los sistemas tipo BSD, en general, no tienen un comando predeterminado a nivel de usuario específicamente diseñado para mostrar las banderas de un archivo. El comando ls lo hará con las banderas o , dependiendo del sistema, pasadas.-lo-lO

Atributos

Todos los atributos tradicionales pueden ser configurados o eliminados por el superusuario; algunos también pueden ser configurados o eliminados por el propietario del archivo. Algunos atributos incluyen:

Véase también

  • ATTRIB– comando análogo en MS-DOS, OS/2 y Microsoft Windows
  • chown– cambiar la propiedad de un archivo/directorio en un sistema Unix
  • chmod– cambiar los atributos de control de acceso a archivos en un sistema Unix
  • cacls– Modificar las listas de control de acceso a archivos en Microsoft Windows NT

Notas

  1. Manual de referencia de comandos de usuario de illumos y OpenSolaris de la última versión de OpenSolaris basada en Sunchmod(1)  
  2. Manual de referencia de comandos de usuario de illumos y OpenSolaris de la última versión de OpenSolaris basada en Sunls(1)  
  3. Manual de comandos generales de OpenBSDchflags(1)  

Referencias