El comando chattr se usa para cambiar los atributos de un archivo o directorio. La siguiente tabla describe algunas de las opciones del comando chattr.
Opción | Descripción |
---|---|
-R | Cambia recursivamente los atributos de los directorios y sus contenidos. |
-v {versión} | Establecer el número de versión de un archivo. |
+yo | Marque el archivo como de solo lectura o inmutable. Requiere privilegios de superusuario. |
-i | Elimine el atributo de solo lectura o inmutable del archivo. Requiere privilegios de superusuario. |
La sintaxis del comando chattr es:
# chattr [-R] [-v {version}] [+-{attributes}] {file/directory names}
Si encuentra el siguiente error mientras ejecuta el comando chattr:
chattr: command not found
puede instalar el siguiente paquete según su elección de distribución:
Distribución | Comando |
---|---|
OS X | instalar cerveza e2fsprogs |
Debian | apt-get install e2fsprogs |
Ubuntu | apt-get install e2fsprogs |
Alpino | apk agregar e2fsprogs |
Arco Linux | pacman-S e2fsprogs |
Kali Linux | apt-get install e2fsprogs |
Cent OS | yum instalar e2fsprogs |
Fedora | dnf instalar e2fsprogs |
Raspbian | apt-get install e2fsprogs |
Eliminar el atributo -i (inmutable) de los archivos
Para eliminar el atributo "i", use el siguiente comando.
# chattr -i geek.txt # Unset "i" attribute
Después de eliminar el atributo, verá que la sección de permisos quedará en blanco.
# lsattr geek.txt --------------- geek.txt
Hacer un directorio inmutable usando chattr
Ahora intentemos asegurar un directorio cambiando su atributo recursivamente usando el comando chattr. Aquí tengo un directorio llamado datos y todos tienen acceso completo a ese directorio de forma recursiva. Consulte el resultado de muestra a continuación.
# mkdir data # chmod -R 777 data/ # ls -l total 4 drwxrwxrwx. 2 root root 4096 Apr 24 04:25 data
Ahora establezca el atributo a ese directorio.
# chattr +i data/ # lsattr ----i--------e- ./data
También puede establecer el atributo de forma recursiva usando la opción -R con chattr.
# chattr -R +i data/
Después de configurar el atributo en el directorio, ahora intente eliminar, mover o crear un archivo, estoy seguro de que no se le permitirá hacer nada de eso. Consulte el resultado de muestra a continuación.
# rmdir data/ # Deleting the Directory rmdir: failed to remove `data/': Operation not permitted
# rm -rf data/ # Deletiing the Directory Forcefully rm: cannot remove `data': Operation not permitted
# mv data/ mydata # Moving the Directory mv: cannot move `data/' to `mydata': Operation not permitted
# cd data/ # cat > test.txt # Creating a File in the directory bash: test.txt: Permission denied