Хотелось бы ограничить доступ ко всем файлам, в которых регистрируются команды. Я нашел их только в файле .bash_history, расположенном в домашней папке. Есть ли другое место?
Нет, по умолчанию команды , выполняемые в bash
(без вывода), сохраняются только в пользовательском файле ~/.bash_history
. Есть несколько способов удалить строки из этого файла, например:
удалить строки вручную:
# removes line 42
history -d 42
# removes lines which just say “exit”
sed -i '/^exit$/d' ~/.bash_history
# removes lines containing “/path/” anywhere
sed -i '\_/path/_d' ~/.bash_history
добавить пробел к команде, которую вы не хотите сохранять (␣
означает здесь пробел):
␣echo secret password | …
См. этот ответ .
установите переменную HISTIGNORE
в вашем ~/.bashrc
, чтобы не сохранять определенные команды:
# ignores lines beginning with “ls ” and lines which just say “clear”
HISTIGNORE='ls *:clear'
См. этот ответ .