Recientemente he nececitado proter contra escritura y/o borrado un archivo debido a la importancia que tiene para mi. Buscando un poco encontre que esto se puede lograr con el comando:
chattr +i archivo_importante
esta orden tiene que ser ejecutada con privilegios de superusuario
con la mencionada instrucción se logra que el {archivo_importante} sea inmutable, es decir, no se le puede cambiar nombre, editar, borrar ni linkear. esta isntrucción solo funciona para Sistemas de Archivos ext2 , ext3 y ext4. chattr es parte del paquete e2fsprogs.
Entonces, la cosa queda asi.
cuando quiero inmunizar a mi {archivo_importante} ejecuto en terminal
$ sudo chattr +i archivo_importante
cuando quiero modificar mi {archivo_importante} ejecuto
$ sudo chattr -i archivo_importante
Pero, debido a que cuando estoy frente a mi PC prefiero utilizar el modo grafico y la terminal la dejo para cuando estoy via remota… me hice dos Scritps para Nautilus para que realizen estas instruciones, estos scripts solo solicitan ingresar mi clave (mi usuario esta agregado a sudoers con todos los privilegios).
Aqui el script para Inmunizar el archivo:
-
#!/bin/bash
-
# Script hecho por MiltonMO
-
#Obtener el nombre del archivo
-
archivo=`basename «$1»`
-
#Obtener la ruta del archivo
-
ruta=`pwd`
-
gksudo -k -m «Tu Clave» ‘chattr +i’ $ruta/$archivo
-
#Enviando mensaje de Finalización
-
#zenity –info –text=»El archivo $archivo es ahora un ‘Diamante Digital'»
Aquí el script para DesInmunizar al archivo:
-
#!/bin/bash
-
# Script hecho por MiltonMO
-
#Obtener el nombre del archivo
-
archivo=`basename «$1»`
-
#Obtener la ruta del archivo
-
ruta=`pwd`
-
gksudo -k -m «Tu Clave» ‘chattr -i’ $ruta/$archivo
-
#Enviando mensaje de Finalización
-
#zenity –info –text=»El archivo $archivo es ahora un ‘Grafito'»
con estos Scripts en ~/.gnome2/nautilus-scripts/ con permisos de ejecución solo me basta con dar dar clic derecho sobre mi {archivo_importante} y seleccionar el Script como se muestra en la figura de abajo