Además de los permisos de lectura, escritura, y de ejecución asociados con el dueño, el grupo propietario y el resto de los usuarios del sistema, Linux nos permite establecer otros atributos en archivos y directorios. Por muchos motivos, podemos necesitar que ciertos archivos dentro de un sistema Linux tengan una protección total ante su borrado, incluso para usuarios administradores (root) quienes por equivocación o descuido, pudieran borrar ese fichero.
El comando lsattr nos permite leer los atributos especiales que pudiese tener activado un directorio o un archivo en particular :
1 2 |
lsattr prueba.log ---------------- prueba.log |
Para bloquear el borrado o modificación de un fichero para cualquier usuario de un sistema, necesitamos configurar el bit «immutable», +i del comando chattr (Esta acción se debe realizar con cuenta root). Para quitar el atributo se realiza con el parámetro -i :
1 2 3 |
chattr +i prueba.log lsattr prueba.log ----i----------- prueba.log |
Para evitar borrar o modificar información de un archivo, se realiza configurando el bit «append only». Esto es muy útil para proteger los archivos de log. Para quitar el atributo se realiza con el parámetro -a :
1 2 3 |
chattr +a prueba.log lsattr prueba.log -----a---------- prueba.log |
Cual seria la diferencia entre chattr y el sticky bit que se puede agregar con chmod?
Me gusta mucho tu blog.
Gracias
Sticky Bit es un permiso que solo afecta a directorios. El comando chattr es de LINUX y una de las utilidades es para hacer inmutable un archivo, al activarlo ni la cuenta root puede eliminarlo o modificarlo, solo al desactivar el atributo es posible realizar acciones sobre el mismo. Al igual un atributo muy útil es «Read only», especial para archivos de LOG, en que al estar activado solo se puede grabar información al archivo, pero no se puede eliminar ni modificar su información. Este comando afecta a directorios y a archivos en forma independiente.-
Muchas gracias.
Estoy haciendo un script para que cuando alguien se conecte a in server pueda grabar la session con el comando «script» corriendo en background, y estoy biendo la manera de como los logs generados sean protegidos. Creo que esta es una bunea idea.
Saludos