Comment changer l'emplacement du fichier .bash_history?

10

J'utilise CentOS 6.x et je souhaite déplacer le .bash_history vers un autre emplacement.

Les répertoires personnels de mes utilisateurs sont (car je lance un VPS) dans /var/www/vhost/<domain>.<tld>lesquels est accessible FTP (et il devrait l'être).

Pour cette raison, j'ai changé les AuthorizedKeysFileconnexions SSH de la normale ~/.ssh/authorized_keyscar les connexions FTP pourraient facilement les localiser.

En même temps, je veux déplacer le .bash_historyfichier vers l' /home/%u/.bash_historyemplacement de %ul'utilisateur actuel.

Brian Graham
la source

Réponses:

17

Vous devez définir HISTFILE pour vos utilisateurs à l'emplacement dont vous avez besoin, définir ce qui suit dans .bash_profile pour l'utilisateur, et pour les nouveaux utilisateurs, le définir dans le répertoire utilisateur squelette, très probablement /etc/skel/.bash_profile

export HISTFILE=/home/$USER/.bash_history
Daniël W. Crompton
la source
1
Merci également de la configurer automatiquement pour les nouveaux utilisateurs.
Brian Graham
Comme vous utilisez un VPS, j'ai supposé qu'il pourrait être utile. :)
Daniël W. Crompton
une remarque ... cela doit être assez tôt dans l'analyse des fichiers RC. Dès que quelque chose est écrit dans l'histoire, toutes les modifications apportées à ce VAR sont ignorées.
Rich Homolka
@RichHomolka selon le fichier man, les modifications apportées à HISTFILE ne sont pas ignorées, notamment: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 Je suis d'accord :) Je l'utilise pour avoir des fichiers d'historique séparés basés sur la ttycommande. Mon point était QUAND vous l'avez réglé. À un moment donné, l'emplacement est fixe et les autres modifications sont ignorées.
Rich Homolka