Jak zmienić lokalizację pliku .bash_history?

10

Korzystam z CentOS 6.x i chcę przenieść .bash_history w inne miejsce.

Katalogami domowymi moich użytkowników są (ponieważ uruchamiam VPS), w /var/www/vhost/<domain>.<tld>których jest dostępny FTP (i powinien być).

Z tego powodu zmieniłem AuthorizedKeysFileniestandardowe połączenia SSH, ~/.ssh/authorized_keysponieważ połączenia FTP byłyby w stanie łatwo je zlokalizować.

Jednocześnie chcę przenieść .bash_historyplik /home/%u/.bash_historytam, gdzie %ujest bieżący użytkownik.

Brian Graham
źródło

Odpowiedzi:

17

Musisz ustawić HISTFILE dla swoich użytkowników w potrzebnej lokalizacji, ustawić następujące parametry w pliku .bash_profile dla użytkownika, a dla nowych użytkowników ustawić go w katalogu szkieletu użytkownika, najprawdopodobniej /etc/skel/.bash_profile

export HISTFILE=/home/$USER/.bash_history
Daniël W. Crompton
źródło
1
Dziękujemy za automatyczne skonfigurowanie go dla nowych użytkowników.
Brian Graham
Gdy korzystasz z VPS, pomyślałem, że może się przydać. :)
Daniël W. Crompton
jedna uwaga ... to musi być dość wcześnie podczas analizowania pliku RC. Gdy tylko coś zostanie zapisane w historii, wszelkie zmiany w tej zmiennej VAR są ignorowane.
Rich Homolka
@RichHomolka według zmian w pliku man zmiany do HISTFILE nie są ignorowane, w szczególności:The name of the file in which command history is saved (see HISTORY below). The default value is ~/.bash_history. If unset, the command history is not saved when an interactive shell exits.
Daniël W. Crompton
@ DaniëlW.Crompton Zgadzam się :) Używam tego, aby mieć osobne pliki historii na podstawie ttypolecenia. Miałem na myśli KIEDY to ustawiłeś. W pewnym momencie lokalizacja jest ustalona, ​​a dalsze zmiany są ignorowane.
Rich Homolka