La idea es que el servidor se actualize el password automaticamente sin la intervencion del administrador cada cierto tiempo como por ejemplo: cada día.[hoy me acordé de esa idea que me dijo una vez mi profe, :D]
Con esto podemos prevenir que nos saque la clave del server con un ataque de diccionario, ya que la clave estaría cambiando cada cierto tiempo.
La única pega que podría haber es que alguien viera nuestro script y su patron para generar la clave, XD. Aunque se solucionaría en pasandolo a compilado por a algún leguanje de programación. [verdad? ;)]
Vamos por parte, primero el script y después a por el método de ejecución automática.
Formula 1:
El script que he encontrado por internet , como requisito hay tener el paquete "expect" instalado...
#!/bin/bash
USER=lui-cn
PASS=`date +%A`Sui`date +%d`
expect << EOF
spawn passwd $USER
expect "Introduzca la nueva contraseña de UNIX:"
send "${PASS}\r"
expect "Vuelva a escribir la nueva contraseña de UNIX:"
send "${PASS}\r"
expect eof;
EOF
Formula 2:
Un script super simple, y sin paquete adicional.
#!/bin/bash
USER=lui-cn
PASS=`date +%A`Sui`date +%d`
(sleep 0; echo $PASS;sleep 0; echo $PASS) | passwd $USER 2> /dev/null
3 línea!? Sí, y se puede reducir aún más a una sola línea, XD, y además le he puesto en modo silencioso dirigiendo el resultado a /dev/null, XD.
como resultado de esos 2 script: "MiércoleSui27"
no le veo muy conveniente el método de utilizar el día de la semana si uno tiene locale en Español, por el tema del tílde, en mi caso pude entrar al sistema con la nueva password porque hize el copy%paste.
el passworrd tambien podría ser con la combinación o alguna operacion con número matemático.
##
El método de ejecucion automática tampoco es cosa del otro mundo, es con una herramienta que viene incluido en la mayoría de las distribuciones de GNU/Linux: "cron"
Para ello, se modifica el archivo /etc/crontab añadiéndole al final:
01 0 * * * root /home/lui/script.sh
Que significa: ejecute con permiso de root el script /home/lui/script.sh a la 00 hora 01 min de cada día.
Se puede configurar de muchas maneras, ya sería a gusto de cada uno. No vale la pena hacer copy&paste de otro quien ha currado con el trabajo de recopilar todas las informaciones acerca del uso de cron, así que les aqui dejo el link donde les explica cada campo y con su corespondiente ejemplo.
www.linuxtotal.com.mxUn Saludo, Good Luck