En entornos tipo Unix existe un comando llamado chmod (change mode) el cual nos permite cambiar permisos de acceso y ejecución a los archivos y/o directorios del sistema.
José Castro, como caso de estudio, propuso el siguiente curioso (e interesante) problema: Supongamos que estamos en un Data Center que no tiene contacto alguno con el mundo exterior; existe una computadora la cual no debemos reiniciar y alguien tuvo la brillante idea de ejecutar el siguiente comando: chmod -x chmod.
¿Qué es lo que hace esta sencilla línea? Denegar el permiso de ejecución de chmod a todos los usuarios.
¿Cómo resolveríamos el problema? Y es aquí en donde se describen soluciones bastante únicas, y otras que nunca me hubiera imaginado.
- Si el paquete está en el cache, reinstalarlo: sudo apt-get install –reinstall coreutils.
- Usar un lenguaje de programación que implemente chmod
- Perl:
perl -e 'chmod 0755, "chmod"' - Python:
python -c "import os;os.chmod('/bin/chmod', 0777)" - Node.js:
require("fs").chmodSync("/bin/chmod", 0755);
- Perl:
- User ejecutables existentes
- Lanzar BusyBox
- GNU Tar
- Conectarse a otra computadora en el DataCenter y copiar chmod con todo y permisos.
- Cpio
- Emacs
El problema es bastante peculiar y ejemplos ingeniosos para resolverlo hay muchos; se pueden apreciar todos los métodos, con código incluido, al leer la presentación original de José Castro.

Social Media