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 2 Solo el superusuario o un proceso que posea la
CAP_LINUX_IMMUTABLEcapacidad puede establecer o borrar estos atributos. - 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.
- ↑ Estos atributos solo tienen sentido para sistemas de archivos de copia en escritura como btrfs .
- ↑ Solo el superusuario o un proceso que posea la
CAP_SYS_RESOURCEcapacidad puede establecer o borrar este atributo. - ↑ 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
Notas
- ↑ – Manual de referencia de comandos de usuario de illumos y OpenSolaris de la última versión de OpenSolaris basada en Sun
- ↑ – Manual de referencia de comandos de usuario de illumos y OpenSolaris de la última versión de OpenSolaris basada en Sun
- ↑ – Manual de comandos generales de OpenBSD
Referencias
- – Manual de comandos de usuario de Linux
- – Manual de comandos de usuario de Linux
- – Manual de comandos generales de OpenBSD
- – Manual de comandos generales de FreeBSD
- – Manual de comandos generales de NetBSD
- – Manual de comandos generales de Darwin y macOS (obsoleto; consulte la versión más reciente )
- stat.h (sección de indicadores en el código fuente del sistema BSD del kernel XNU de macOS )
- Software relacionado con el sistema de archivos Unix
- Software libre exclusivo para Linux