Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: Encrypting history?

Guido van Steen <gvsteen@xxxxxxxxx> writes:

> Hi Lloyd, 
> Interesting idea indeed! You might miss a feature like sharing a history file across sessions. 
> You could overcome this by seperately saving all your sessions' increments to your history file, and then incorporating them into the history file when you login again. 
> This way the entries of your history file might get out of order, but you could probably handle this by also saving the time when your commands were issued. 
> I would also be interested in a zsh extension like that. 
> Best wishes, 
> Guido 

Thank you for reminding me about sharing history across sessions.

I've never written an extension for zsh, and so the first thing I plan
to do is implement this via code in my .zlogin and .zlogout files. Then,
once I get it working, I'll take the plunge and try to turn it into an

Concerning this session-specific history issue, is there a way to get a
history list of the commands that were issued only during the current
session? If so, I think I probably could do something like this upon

* Lock the current history file
* Get the history list for the current session
* Encrypt this history list and append it to the current
  history file
* Unlock the current history file

Would that work?

> --- On Sun, 27/12/09, Lloyd Zusman <ljz@xxxxxxxxxx> wrote:
>> From: Lloyd Zusman <ljz@xxxxxxxxxx>
>> Subject: Encrypting history?
>> To: zsh-users@xxxxxxx
>> Date: Sunday, 27 December, 2009, 5:55 AM
>> I would like my command history to be
>> stored in an encrypted file. I
>> have read a few messages in this list from 2007 which state
>> that there
>> isn't a straightforward way to do this within zsh, itself,
>> and the use
>> of an encrypted file system is suggested.
>> However, I think that there might indeed be a way to
>> accomplish this.
>> Is it possible to do the following?
>> Make sure that SAVEHIST is set to 0.
>> Then, on login, prompt the user for a password. Remember
>> this password
>> for the duration of the shell session. Then, use this
>> password along
>> with a decryption program to read an encrypted history file
>> called, for
>> example, ~/.ehistory. Put the decrypted contents of this
>> file into the
>> current shell's history list via the repeated use of the
>> "print -s"
>> command.
>> Finally, on logout, pipe the output of "fc -ln 1" through a
>> program
>> which uses the same password entered at login time to
>> encrypt the
>> history and write it to the ~/.ehistory file.
>> Can any of you see any reason for why this would not work?
>> Or alternatively, is there perhaps a better way to do this
>> within zsh?
>> Thanks in advance.
>> -- 
>>  Lloyd Zusman
>>  ljz@xxxxxxxxxx
>>  God bless you.
>       Get your new Email address!
> Grab the Email name you&#39;ve always wanted before someone else does!
> http://mail.promotions.yahoo.com/newdomains/aa/

 Lloyd Zusman
 God bless you.

Messages sorted by: Reverse Date, Date, Thread, Author