Una de las opciones por las que podríamos optar para evitar estos casos (recomendable), sería el jugar con los diferentes permisos de los ficheros para evitar desastres; pero si bien esas medidas evitarían que gente indeseable pudiese escribir en ficheros delicados, no evitaría que nosotros mismos pudiésemos sobreescribir accidentalmente ficheros; ya sea como root o como superusuario. Es por eso que a veces es necesario recurrir a medidas adicionales; en este caso, al uso de noclobber.
El concepto clobber proviene del concepto clobbering que vendría a ser la sobreescritura accidental de un contenido determinado, ya sea mediante un programa determinado o mediante el volcado de un texto sobre un fichero... La cuestión está en que noclobber tiene como objetivo manipular el clobber para que éste se encuentra activo o no...
La desactivación del clobbering; es decir de la sobreescritura, se realizaría mediante el comando:
set-o noclobber
Rápido y sencillo. Gracias a este comando cualquier intento de sobreescritura se vería frustrado; he aquí un pequeño ejemplo del resultado que nos daría dicho intento:
Hemos de tener en cuenta que el hecho de no poder sobreescribir un fichero no siempre es bueno; hay programas que necesitan sobrescribir ciertos contenidos para poder funcionar correctamente, ficheros de configuración que son sobreescritos, ficheros alojados en el directorio virtual proc que necesitan ser modificados para poder ejecutar ciertas tareas... Es decir que la desactivación del clobbering no siempre es algo idóneo, así que es importante tenerlo claro antes de decantarse por dicha desactivación. Si aún así quisiésemos asegurarnos de que siempre que nos logueemos en el sistema tuviésemos el clobbering desactivado; simplemente tendríamos que agregar el comando al fichero .bashrc del usuario tal y como se muestra en el siguiente ejemplo:
- echo 'set -o noclobber' >> /root/.bashrc
- echo 'set -o noclobber' >> /home/ivan/.bashrc
Si en algún momento deseasemos activarlo de nuevo, únicamente tendríamos que cambiar el parámetro -o por +o:
set +o noclobber
Con esto ya tendríamos de nuevo activada la sobreescritura. A modo de recomendación personal, recomendaría desactivarlo en momentos que sepamos que vamos a ejecutar tareas delicadas, si bien esto depende de la situación de cada uno y del uso que cada uno le de a su equipo.
Espero que os haya resultado útil.
Saludos.