[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: