Re: [OT] Personalizar fichero bash_history en Debian.
Buenas,
El día 13 de julio de 2012 14:12, jmramirez (mas_ke_na)
<mas_ke_na@hotmail.com> escribió:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
>
> jmramirez (mas_ke_na) escribió:
>>
>> jmramirez (mas_ke_na) escribió:
>>
>>> Buenas....
>>
>>> En base a lo que comentaba. Puedes poner la hora de la ejecución
>>> delante de cada comando del history así:
>>
>>> $ HISTTIMEFORMAT="%d/%m/%y %T "
>>
>>> $ echo 'export HISTTIMEFORMAT="%d/%m/%y %T "' >> ~/.bash_profile
>>
>>> Lo mismo usando esto, podemos ( no lo se supongo que si) poner la ip
>>> del ultimo ssh conectado, creo que la hora en el history te vendrá bien,
>>> así sabrás con mas certeza cuando se ejecuto.
>>
>>> Voy a pegarme un poco con ello, que me puede interesar ponerlo en mis
>>> sistemas.
>>
>> Buenas....
>>
>> Creo que casi lo tengo, pero no soy capaz de que en el history me
>> ejecute un variable, me la pone como texto. Entiendo que debe ser
>> posible, a ver si alguien ve donde he metido la gamba.
>> Segun tengo entendido para que se ejecute necesito la comilla simple "`"
>> ladeada. ¿Es correcto?
>>
>> Me creo una variable que mira el fichero de accesos por ssh y da la ip
>> del ultimo login por ssh ( si hay varios falseara):
>>
>> export sship=`cat /var/log/auth.log | grep ssh | grep Accepted | head -1
>> | gawk '{ print $11}'`
>>
>> Ahora ejecuto la orden anterior para agregar la hora de ejecucion del
>> comando mas mi variable:
>>
>> echo 'export HISTTIMEFORMAT=`$sship`"%d/%m/%y %T "' >> ~/.bash_profile
>>
>> Pero no he conseguido que salga la variable ejecutada, solo como texto
>> o sino nada.
>>
>> 533 13/07/12 13:51:05 history
>>
>> ¿Alguna idea?, puede ser ¿que el history no me admita esa variable y
>> por eso no la ponga?
>>
>> Muchas gracias y un saludo
>
> Buenas...
>
> Ya me encontré. Para hacer lo que pide Ramses seria:
>
> export sship=`cat /var/log/auth.log | grep ssh | grep Accepted | head -1
> | gawk '{ print $11}'`
>
> Y luego
>
> export HISTTIMEFORMAT=`echo $sship "%d/%m/%y %T "`
>
> Ahora ya sale como quería:
>
> 589 127.0.0.1 13/07/12 14:11:18 export HISTTIMEFORMAT=`echo $sship
> "%d/%m/%y %T "`
>
> Puede dar errores y seguro que se puede mejorar, incluyendo por ejemplo
> que elimine la variable sship cuando en el fichero auth.log salga el
> disconect.
Veo que te ha gustado la idea, yo no tengo tanta experiencia como tú,
pero intento aportarte otra ayuda, a ver si así puedes solucionar el
tema del posible error al obtener sship:
¿Y si la obtienes a partir de las variables de entorno?
echo $SSH_CLIENT
En cada sesión SSH aparece la IP correcta.
Saludos y gracias,
Ramses
Reply to: