lunes, 6 de noviembre de 2017

viernes, 20 de octubre de 2017

[Fecha de publicación: 2017-10-17]

INICIO DE PROYECTO : PROMOCIÓN ANTICIPADA

[Fecha de publicación: 2017-10-10]

La palabra clave ORDER de SQL

La palabra clave ORDER BY se usa para ordenar el conjunto de resultados en orden ascendente o descendente.
La palabra clave ORDER BY ordena los registros en orden ascendente de forma predeterminada. Para ordenar los registros en orden descendente, use la palabra clave DESC.

ORDER BY Syntax

SELECT column1, column2, ...
FROM table_name
ORDER BY column1, column2, ... ASC|DESC;

martes, 3 de octubre de 2017

[Fecha de publicación: 2017-10-03]

Mi Hosting: http://felipejaimes22xx.mipropia.com/

Lo que debe saber de Include

include

(PHP 4, PHP 5, PHP 7)
La sentencia include incluye y evalúa el archivo especificado.
La siguiente documentación también se aplica a require.
Los archivos son incluidos con base en la ruta de acceso dada o, si ninguna es dada, el include_path especificado. Si el archivo no se encuentra en el include_path, include finalmente verificará en el propio directorio del script que hace el llamado y en el directorio de trabajo actual, antes de fallar. El constructor include emitirá una advertencia si no puede encontrar un archivo, éste es un comportamiento diferente al de require, el cual emitirá un error fatal..
Si una ruta es definida — ya sea absoluta (comenzando con una letra de unidad o \ en Windows o / en sistemas Unix/Linux) o relativa al directorio actual (comenzando con . o ..) — el include_path será ignorado por completo. Por ejemplo, si un nombre de archivo comienza con ../, el interprete buscará en el directorio padre para encontrar el archivo solicitado.
Para más información sobre como PHP maneja la inclusión de archivos y la ruta de accesos para incluir, ver la documentación de include_path.
Cuando se incluye un archivo, el código que contiene hereda el ámbito de las variables de la línea en la cual ocurre la inclusión. Cualquier variable disponible en esa línea del archivo que hace el llamado, estará disponible en el archivo llamado, desde ese punto en adelante. Sin embargo, todas las funciones y clases definidas en el archivo incluido tienen el ámbito global.
Ejemplo #1 Ejemplo básico de include

vars.php
<?php

$color 
'verde';$fruta 'manzana';
?>
test.php
<?php
echo "Una $fruta $color"// Una
include 'vars.php';

echo 
"Una $fruta $color"// Una manzana verde
?>


tomado de  http://php.net/manual/es/function.include.php

include_once

(PHP 4, PHP 5, PHP 7)
La sentencia include_once incluye y evalúa el fichero especificado durante la ejecución del script. Tiene un comportamiento similar al de la sentencia include, siendo la única diferencia de que si el código del fichero ya ha sido incluido, no se volverá a incluir, e include_once devolverá TRUE. Como su nombre indica, el fichero será incluido solamente una vez.
include_once se puede utilizar en casos donde el mismo fichero podría ser incluido y evaluado más de una vez durante una ejecución particular de un script, así que en este caso, puede ser de ayuda para evitar problemas como la redefinición de funciones, reasignación de valores de variables, etc.
Véase la documentación de include para más información sobre cómo funciona esta función.

Nota:
Con PHP 4, la funcionalidad de _once difiere entre sistemas operativos que ignoran las mayúsculas/minúsculas (como Windows). Por ejemplo:
Ejemplo #1 include_once con un SO que no distinque mayúsculas de minúsculas en PHP 4
<?phpinclude_once "a.php"// esto incluirá a.phpinclude_once "A.php"// esto incluirá a.php ¡otra vez! (sólo PHP 4)?>
tomado de http://php.net/manual/es/function.include-once.php

lunes, 2 de octubre de 2017

[Fecha de publicación: 2017-09-26]

Tipos de Datos de Mysql

Los tipos de datos que puede haber en un campo, se pueden agrupar en tres grandes grupos:
  1. Tipos numéricos
  2. Tipos de Fecha
  3. Tipos de Cadena

1 Tipos numéricos:

Existen tipos de datos numéricos, que se pueden dividir en dos grandes grupos, los que están en coma flotante (con decimales) y los que no.

TinyInt:

Es un número entero con o sin signo. Con signo el rango de valores válidos va desde -128 a 127. Sin signo, el rango de valores es de 0 a 255

Bit ó Bool:

Un número entero que puede ser 0 ó 1

SmallInt:

Número entero con o sin signo. Con signo el rango de valores va desde -32768 a 32767. Sin signo, el rango de valores es de 0 a 65535.

MediumInt:

Número entero con o sin signo. Con signo el rango de valores va desde -8.388.608 a 8.388.607. Sin signo el rango va desde 0 a16777215.

Integer, Int:

Número entero con o sin signo. Con signo el rango de valores va desde -2147483648 a 2147483647. Sin signo el rango va desde 0 a 429.4967.295

BigInt:

Número entero con o sin signo. Con signo el rango de valores va desde -9.223.372.036.854.775.808 a 9.223.372.036.854.775.807. Sin signo el rango va desde 0 a 18.446.744.073.709.551.615.

Float:

Número pequeño en coma flotante de precisión simple. Los valores válidos van desde -3.402823466E+38 a -1.175494351E-38, 0 y desde 1.175494351E-38 a 3.402823466E+38.

xReal, Double:

Número en coma flotante de precisión doble. Los valores permitidos van desde -1.7976931348623157E+308 a -2.2250738585072014E-308, 0 y desde 2.2250738585072014E-308 a 1.7976931348623157E+308

Decimal, Dec, Numeric:

Número en coma flotante desempaquetado. El número se almacena como una cadena
Tipo de Campo
Tamaño de Almacenamiento
TINYINT
1 byte
SMALLINT
2 bytes
MEDIUMINT
3 bytes
INT
4 bytes
INTEGER
4 bytes
BIGINT
8 bytes
FLOAT(X)
4 ú 8 bytes
FLOAT
4 bytes
DOUBLE
8 bytes
DOUBLE PRECISION
8 bytes
REAL
8 bytes
DECIMAL(M,D
M+2 bytes sí D > 0, M+1 bytes sí D = 0
NUMERIC(M,D)
M+2 bytes if D > 0, M+1 bytes if D = 0

2 Tipos fecha:

A la hora de almacenar fechas, hay que tener en cuenta que Mysql no comprueba de una manera estricta si una fecha es válida o no. Simplemente comprueba que el mes esta comprendido entre 0 y 12 y que el día esta comprendido entre 0 y 31.

Date:

Tipo fecha, almacena una fecha. El rango de valores va desde el 1 de enero del 1001 al 31 de diciembre de 9999. El formato de almacenamiento es de año-mes-dia

DateTime:

Combinación de fecha y hora. El rango de valores va desde el 1 de enero del 1001 a las 0 horas, 0 minutos y 0 segundos al 31 de diciembre del 9999 a las 23 horas, 59 minutos y 59 segundos. El formato de almacenamiento es de año-mes-dia horas:minutos:segundos

TimeStamp:

Combinación de fecha y hora. El rango va desde el 1 de enero de 1970 al año 2037. El formato de almacenamiento depende del tamaño del campo:
Tamaño
Formato
14
AñoMesDiaHoraMinutoSegundo aaaammddhhmmss
12
AñoMesDiaHoraMinutoSegundo aammddhhmmss
8
ñoMesDia aaaammdd
6
AñoMesDia aammdd
4
AñoMes aamm
2
Año aa

Time:

Almacena una hora. El rango de horas va desde -838 horas, 59 minutos y 59 segundos a 838, 59 minutos y 59 segundos. El formato de almacenamiento es de 'HH:MM:SS'

Year:

Almacena un año. El rango de valores permitidos va desde el año 1901 al año 2155. El campo puede tener tamaño dos o tamaño 4 dependiendo de si queremos almacenar el año con dos o cuatro dígitos.
Tipo de Campo
Tamaño de Almacenamiento
DATE
3 bytes
DATETIME
8 bytes
TIMESTAMP
4 bytes
TIME
3 bytes
YEAR
1 byte

3 Tipos de cadena:

Char(n):

Almacena una cadena de longitud fija. La cadena podrá contener desde 0 a 255 caracteres.

VarChar(n):

Almacena una cadena de longitud variable. La cadena podrá contener desde 0 a 255 caracteres.
Dentro de los tipos de cadena se pueden distinguir otros dos subtipos, los tipo Test y los tipo BLOB (Binary large Object)
La diferencia entre un tipo y otro es el tratamiento que reciben a la hora de realizar ordenamientos y comparaciones. Mientras que el tipo test se ordena sin tener en cuenta las Mayúsculas y las minúsculas, el tipo BLOB se ordena teniéndolas en cuenta.
Los tipos BLOB se utilizan para almacenar datos binarios como pueden ser ficheros.

TinyText y TinyBlob:

Columna con una longitud máxima de 255 caracteres.

Blob y Text:

Un texto con un máximo de 65535 caracteres.

MediumBlob y MediumText:

Un texto con un máximo de 16.777.215 caracteres.

LongBlob y LongText:

Un texto con un máximo de caracteres 4.294.967.295. Hay que tener en cuenta que debido a los protocolos de comunicación los paquetes pueden tener un máximo de 16 Mb.

Enum:

Campo que puede tener un único valor de una lista que se especifica. El tipo Enum acepta hasta 65535 valores distintos

CHMOD 777, 755, 655, 644 y más permisos archivos Linux



Hoy analizaremos cómo establecer los permisos en un ambiente Linux.

Para este caso usaremos un archivo en Debian 8 pero el procedimiento es similar en cualquier distro de Linux.


1. Tipos de permisos en Linux


En todos los sistemas Unix existe un mecanismo que nos permite, como administradores, definir los tipos de acceso que se tendrá a un archivo o carpeta particular.

Dentro de este mecanismo de control de los entornos Unix existen dos tipos de variables que debemos conocer y entender su función:

Clases
Estas determinan que usuarios pueden acceder al archivo o carpeta

Permisos
Estos determinan la tarea que pueden ejecutar los usuarios autorizados en dichos archivos

Ahora, cuando damos clic derecho sobre un archivo o carpeta y nos dirigimos a la opción Propiedades podemos ver lo siguiente:


Dentro de este esquema identificamos tres (3) tipos de clases:

Propietario
Es la persona que ha creado el archivo o la carpeta

Grupo
Dentro de este parámetro definiremos el grupo de usuarios que tendrán acceso al archivo o carpeta

Otros
Dentro de este parámetro están incluidos los usuarios particulares

Ahora contamos con tres tipos de permisos de edición de nuestros archivos o carpetas, éstos son:

Lectura
Esta opción permite que el usuario vea el archivo pero no le da la potestad de realizar cambios en el mismo lo cual nos da un alto nivel de seguridad ya que no podrán editarlo, copiarlo o borrarlo.

Escritura
Al otorgar este permiso permitimos que los usuarios que acceden al archivo o carpeta puedan realizar sobre el mismo cualquier tipo de edición, Copiar, cortar, borrar) lo cual pone en riesgo la integridad del mismo.

Ejecutar
Al activar esta opción, la cual viene por defecto deshabilitada, podemos ejecutar archivos.

Comprendiendo esto podemos establecer combinaciones entre los permisos y las clases para determinar el mejor nivel de seguridad para nuestros archivos.



2. Comprendiendo códigos de error de permisos en Linux


Ahora llega uno de los puntos que como administradores o personal involucrado en el área de IT debemos conocer y es la identificación de los errores que surgen al momento en que un usuario intenta tomar alguna acción en un archivo, por ejemplo el famoso 777.

En los entornos Unix básicamente cada permiso tiene el siguiente valor:
  • Lectura: 4
  • Escritura: 2
  • Ejecución: 1

Debemos aprender a jugar con estos números de la siguiente manera, esto con el fin de hacer nuestra experiencia de Linux la mejor.

Si deseamos establecer un permiso de escritura usaremos el 6 (4 + 2= Lectura + Escritura)

Si deseamos que un usuario pueda ejecutar usaremos el 7 (4 + 2 + 1= Lectura + Escritura + Ejecución)

Ahora contamos con la siguiente tabla de valores:
  • 0: Sin permisos
  • 1: Ejecución
  • 2: Escritura
  • 3: Lectura y escritura
  • 4: Lectura
  • 5: Lectura y ejecución
  • 6: Lectura y escritura
  • 7: Lectura, escritura y ejecución



3. Tipos de permisos más comunes


Los tipos de permisos más comunes, o su combinación, son los siguiente:

666 ( RW / RW / RW)
Esta opción permite que todos los usuarios puedan leer y escribir en un archivo.

777 ( RWX / RWX /RWX)
Esta opción permite que todos los usuarios puedan leer, escribir y ejecutar en el archivo o carpeta

755 (RWX / RW / RW)
Con este permiso el propietario del archivo puede leer, escribir y ejecutar en el archivo mientras que los demás leer y escribir en el archivo mas no ejecutar.

644 (RW / R / R)

Con este permiso el propietario puede leer y escribir en el archivo mientras los demás solo pueden leer.

700 (RWX /---)
Con este permiso el propietario tiene el control total del archivo mientras que los demás usuarios no tendrán acceso de ningún tipo al archivo.

Como vemos contamos con diferentes opciones para establecer los respectivos permisos en Linux.



4. Como establecer un permiso a un archivo o carpeta


El procedimiento para establecer el permiso es muy sencillo. Basta con ir a la terminal y ejecutar la siguiente sintaxis:

chmod Tipo de permiso Ruta_Archivo

Por ejemplo:
  1. chmod 666 /home/Solvetic/Solvetic.jpg
Contamos con estas interesantes opciones para establecer los mejores parámetros de seguridad en nuestros archivos y carpetas.

Viéndolo en sistemas Linux con letras veríais algo como esto en temas de permisos Linux al completo:

0 = --- = sin acceso
1 = --x = ejecución
2 = -w- = escritura
3 = -wx = escritura y ejecución
4 = r-- = lectura
5 = r-x = lectura y ejecución
6 = rw- = lectura y escritura
7 = rwx = lectura, escritura y ejecución

Si lo que queremos es dar varios permisos, lo que debemos hacer es sumarlos.

Si por ejemplo usamos el comando chmod 777:
  1. chmod 777
Estamos diciendo que les damos a los 3 tipos de usuarios el máximo permiso, dándoles lectura, ejecución y escritura, y es de haber sumando 4+2+1 por eso usamos tres veces 7. Si queremos dar permisos de lectura escritura pues sería 4+2 = 6 si lo que queremos es sólo dar lectura sería 4. Si lo que queremos es dar lectura y ejecución sería de sumar 4 + 1 = 5. De ahí las diferentes combinaciones.
  1. chmod 755
En este caso chmod 755 estamos dando permiso de lectura y ejecución (4+1) a todos los usuarios excepto al propietario que lo tiene completo (lectura, escritura, ejecución 4+2+1).
  1. chmod 666
Este tipo de comando chmod lo que realiza es dar permisos de lectura y escritura a todos, excepto ejecución (4+2). Todos pueden acceder al archivo, leer su contenido y modificarlo.
  1. chmod 644
Este chmod 644 se suele utilizar para no permitr la escritura a nadie que no sea el propietario. (755 es similar, lectura y ejecución y para propietario todos los permisos) Este chmod 644 más restrictivo (sólo lectura) y (lecura, escritura para propietario).

Estos comandos los podéis realizar por comandos, si es un servidor local, pues logandote y haciendolos de forma directa, si es remoto, os podéis conectar con este programa para que os aparezca la ventana del servidor Linux (como si estuvierais en local). O una otra opción es descargar gratis y utilizar el programa Filezilla que nos frece realizar estos cambios de permisos de forma gráfica (más fácil).

Os enseñamos en este caso un servidor Linux que conectamos de forma remota con Filezilla y aparece los permisos de forma gráfica tanto de los archivos como de las carpetas.


Si queremos cambiarlos pulsamos encima de la carpeta o archivo con el botón derecho y aparecerá la opción de Permisos del archivo, al pulsarlo aparece la ventana donde podemos cambiarlos.


Esperamos que os haya servido para entender el funcionamiento de los permisos en sistemas Linux / Unix. Pasemos a los otros 2 comandos para gestión de permisos.



5. Qué es y como usar comando CHOWN Linux


Dentro de las diversas tareas cotidianas que podemos implementar en ambientes Linux está la de establecer un nuevo propietario de un archivo o carpeta ya sea por temas de seguridad, organización o administración.
Una de las formas más prácticas que tenemos en Linux para este fin es el uso del comando chown y hoy veremos cómo podemos implementarlo y sacar el máximo provecho de este importante comando.

Qué es Chown
Chown (Change Owner – Cambiar Propietario) es un comando que nos ofrece la posibilidad de modificar el dueño o propietario de un archivo o carpeta en el sistema de archivos.

Este comando forma parte de la suite coreutils la cual viene incluida por defecto en todas las distros de Linux y usando Chown podemos especificar el nuevo propietario bien sea por su nombre o por la identidad del usuario dentro del sistema (UID).

Parámetros de Chown
Podemos definir una serie de parámetros para el uso de Chown los cuales son:
  • -c: Este parámetro nos permite definir los cambios que tendrá el archivo.
  • -R: Cambia de manera descendente el propietario de los directorios junto a su contenido.
  • -v: (verbose) Nos despliega una salida más descriptiva de la información.
  • --version: Nos despliega en pantalla la versión de Chown.
  • --dereference: Este parámetro actúa sobre valores simbólicos en lugar de hacerlo en el destino.
  • --reference: este parámetro cambia el propietario de un archivo tomando como referencia el propietario de otro archivo.
  • -h: Cuando se trata de enlaces simbólicos, cambia el propietario del destino en lugar del enlace propiamente dicho.

La sintaxis que debemos tener en cuanta cuando usamos Chown es la siguiente:
  1. chown (opciones) usuario(:grupo) archivo(s) o directorio(s)
Para este estudio usaremos Ubuntu 16.

A continuación veremos algunos ejemplos de cómo usar Chown.

Modificar el propietario de un archivo
Esta es una de las tareas básicas que tenemos con el comando chown y en primer lugar debemos validar cuál es propietario actual del archivo, para ello usamos la sintaxis:
  1. ls -lart Nombre_archivo
Hemos creado un archivo llamado solvetic.txt por lo cual ingresamos lo siguiente:
  1. ls -lart solvetic.txt
Esto desplegará el propietario asó como los permisos que tiene actualmente y la fecha de creación.

Ahora estableceremos que el propietario de ese archivo será root, para ello ingresamos lo siguiente:
  1. chown root solvetic.txt
Ahora ejecutamos de nuevo ls -lart solvetic.txt y podemos ver el nuevo propietario:



Modificando el grupo de un archivo
Podemos establecer un nuevo grupo para nuestros archivos usando chown, para ello debemos realizar el siguiente proceso:

Usar el comando ls – l (Nombre Archivo) para visualizar el grupo actual del archivo.

En este caso usaremos ls -l solvetic.txt. A continuación usaremos la siguiente sintaxis para la respectiva modificación:
  1. chown :soporte solvetic.txt
(Soporte es el nombre del nuevo grupo).



Ver la versión actual de Chown
Para ello basta con ingresar lo siguiente:
  1. chown version


Modificar propietario de carpeta y todo lo que hay dentro de ella
Para esta tarea usaremos la siguiente sintaxis:
  1. chown -R usuario carpeta
En este caso haremos que el usuario root sea el dueño de la carpeta, en este caso ingresamos lo siguiente:
  1. chown -R root Solvetic

Cambiar grupo si el usuario pertenece a un grupo determinado
Podemos establecer que se modifique el grupo cuando el archivo está dentro de un grupo ya determinado.

Por ejemplo, si el archivo solvetic.txt está dentro del grupo solvetic el nuevo grupo se llamará soporte. Para ello usaremos el parámetro –from

En primer lugar usaremos ls -l solvetic.txt para visualizar el grupo al cual pertenece el archivo. Posteriormente usaremos la sintaxis –from:grupo actual) : (nuevo grupo) de este modo indicamos que si el archivo pertenece, en este caso, al grupo solvetic pase a ser del grupo soporte.



Copiar el propietario de un archivo a otro
Podemos copiar los parámetros que tiene un archivo a otro usando la opción –reference

En este caso tenemos dos archivos:
  • solvetic.txt = cuyo propietario es solvetic
  • pruebas.txt = cuyo propietario es root.

Usaremos la sintaxis:
  1. chown reference=solvetic.txt pruebas.txt
Para que el propietario de pruebas.txt sea el mismo de solvetic.txt



Vemos como chown nos ofrece diversas alternativas para la gestión de los propietarios en los diferentes archivos y carpetas en ambientes Linux de forma sencilla y confiable.



6. Qué es y como usar comando CHATTR Linux


Dentro de las funciones que como administradores de sistemas, personal de soporte o personal asociado al área de TI existe una muy importante que es la de modificar los atributos de una carpeta o archivo para incrementar sus niveles de seguridad, y el resultado que podemos obtener será el siguiente:
  • Evitar accesos no autorizados a los archivos o carpetas
  • Impedir la edición de los archivos
  • Evitar el robo de información
  • Llevar un control específico sobre las carpetas y archivos que están almacenados en el equipo

Aunque existen diversas formas para hacer esto hoy veremos un comando que tiene una amplia variedad de opciones para modificar los atributos en cualquier distro de Linux: Chattr

Qué es Chattr
Chattr (Change Attribute – Cambiar Atributos) es un comando que podemos implementar de manera sencilla con diversos parámetros que nos brindarán la posibilidad de proteger los archivos de borrados accidentales o de cambios involuntarios.

Una de las grandes ventajas de chattr es que protege los archivos incluso si la persona que intenta borrarlos tiene permisos de root.

Todos los atributos que pueden ser implementados con chattr son soportados por los sistemas nativos de Linux como son ext2, ext3, ext4 y btfrs lo cual permite que esta utilidad tenga un alcance mucho mayor de seguridad.

La sintaxis general para el uso de chattr es la siguiente:
  1. chattr (operador) (atributo) (archivo)
Donde tendríamos que cambiar los datos entre paréntesis por lo que deseemos implementar. Lo veremos en los ejemplos que vienen a continuación.


Parámetros disponibles con Chattr

Como vemos debemos especificar ciertos parámetros que nos permiten definir el nivel de seguridad que tendrán nuestros archivos, son los siguientes por categoría:

Operadores
  • +: Permite que sean añadidos los atributos indicados a los atributos ya existentes en el archivo
  • -: Permite que se eliminen los atributos indicados a los atributos
  • =: Permite que los atributos indicados reemplacen los atributos existentes en el archivo.

Opciones
  • -V: Nos permite obtener una salida del comando chattr más descriptiva incluyendo la versión del programa.
  • -R: Esta opción cambia de manera descendente los atributos de los directorios y sus contenidos.
  • -v: Nos permite visualizar la versión del programa.

Atributos
  • a: Permite que el archivo solo pueda abrirse en modo de adjuntar para escritura.
  • A: Permite que la fecha del último acceso o atime no sea modificada.
  • c: Permite que el archivo se comprima de forma automática.
  • d: Permite definir que el archivo seleccionado no sea candidato para el respaldo al usar la herramienta dump.
  • D: Cuando hace referencia a un directorio permite que los datos sean escritos de forma sincrónica en el disco.
  • e: hace referencia a que el archivo o carpeta usa extensiones (extents) usadas para la cartografía de bloques.
  • j: Es usado en los sistemas de archivos ext3 y ext4 y permite establecer que el archivo sea escrito en el registro por diario cuando lo hemos montado con las opciones data=ordered o data=writeback.
  • i: Permite que el archivo sea inmutable, es decir, que pueda ser borrado o editado.
  • S: Indica que los cambios realizados en el archivo serán escritos de forma sincrónica en el disco.
  • s: Con este atributo los bloques usados en el disco duro serán escritos con ceros (0).
  • u: Al establecer este atributo cuando un archivo es eliminado su contenido queda almacenado para una posterior recuperación.


Usando Chattr en Ubuntu

Ahora veamos ejemplos prácticos sobre cómo implementar chattr en las distros de Linux, para este caso usaremos Ubuntu 16.

Hemos creado una carpeta llamada Solvetic y un archivo llamado pruebas.txt. Si deseamos proteger estos archivos usaremos la siguiente sintaxis (Usaremos sudo para que tenga los privilegios de superusuario).
  1. sudo chattr +i Solvetic/ prueba.txt

Como vemos, aunque no se ha desplegado información, los cambios han sido procesados.


Comprobando los atributos

Para comprobar los atributos que hemos implementado usaremos lsattr y veremos lo siguiente:


Si intentamos borrar el archivo pruebas.txt, siendo superusuario, veremos que no es posible, usaremos la siguiente sintaxis:
  1. sudo rm prueba.txt



Estableciendo los valores originales

SI deseamos que nuestros archivos no tengan los atributos de chattr usaremos la siguiente sintaxis:
  1. sudo chattr -i Nombre_archivo
En nuestro ejemplo sería lo siguiente:
  1. sudo chattr -i Solvetic/ prueba.txt
Ahora podemos intentar borrar el archive y veremos que ya es posible debido a que hemos removido los atributos:


Del mismo modo podemos proteger archivos que son delicados para la óptima función del sistema como por ejemplo
  1. /etc/passwd y /etc/shadow files
Para proteger estos archivos debemos ingresar lo siguiente:
  1. sudo chattr +i /etc/passwd
  1. sudo chattr +i /etc/shadow files
Otro ejemplo de cómo podemos usar chart en Linux es usar el parámetro a el cual nos permite abrir el archivo en modo de adjuntar, para ello hemos creado un archivo llamado solvetic.txt

Posteriormente usaremos el comando:
  1. sudo chartt +a Solvetic.txt
Para establecer este parámetro al archivo.

Podemos ver los atributos del archivo usando lsattr.

Ahora intentamos editar algo en el archivo usado el comando echo y veremos que se despliega el mensaje Operación no permitida. Si ahora usamos los símbolos >> podremos adjuntar algo al texto.


De este modo tenemos diversas opciones usando chattr en Linux y brindar parámetros de seguridad adicionales para nuestros archivos y carpetas más importantes usando alguno de los atributos que nos ofrece chattr.