Как изменить расположение файла .bash_history?

10

Я использую CentOS 6.x и хочу переместить .bash_history в другое место.

Домашние каталоги моих пользователей (потому что я запускаю VPS), в /var/www/vhost/<domain>.<tld>которых доступен FTP (и это должно быть).

Из-за этого я изменил соединения AuthorizedKeysFileдля SSH по сравнению с обычными, ~/.ssh/authorized_keysтак как FTP-соединения могли бы легко их найти.

В то же время я хочу переместить .bash_historyфайл туда, /home/%u/.bash_historyгде %uнаходится текущий пользователь.

Брайан Грэм
источник

Ответы:

17

Вам нужно установить HISTFILE для ваших пользователей в нужном вам месте, установить следующее в .bash_profile для пользователя, а для новых пользователей установить его в каталоге пользовательских скелетов, скорее всего, /etc/skel/.bash_profile

export HISTFILE=/home/$USER/.bash_history
Даниэль В. Кромптон
источник
1
Спасибо за автоматическую настройку для новых пользователей.
Брайан Грэм
Поскольку вы используете VPS, я предположил, что это может пригодиться. :)
Даниэль В. Кромптон
одно замечание ... это должно быть довольно рано при разборе файла RC. Как только что-то записывается в историю, любые изменения в этом VAR игнорируются.
Богатая гомолка
@RichHomolka, согласно изменениям в файле man для HISTFILE, не игнорируются, а именно: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ëlW.Crompton Я согласен :) Я использую это, чтобы иметь отдельные файлы истории, основанные на ttyкоманде. Моя точка зрения была КОГДА вы установили это. В какой-то момент местоположение фиксируется и дальнейшие изменения игнорируются.
Богатая гомолка