По моему опыту, / usr / bin / mail
- это двоичный исполняемый файл, но в вашей системе оболочка, похоже, загружает и интерпретирует его. Синтаксическая ошибка рядом с неожиданным токеном
- это диагностика bash .
Это может произойти, если вы перезаписали исполняемый файл. Есть ли возможная вероятность того, что вы перезаписали / usr / bin / mail
текстом «Файл конфигурации не найден (-s)», в результате чего указанный текст будет передан оболочке при попытке его выполнения ?
Файл истории bash представляет собой простой текстовый файл, в котором хранится журнал исторических команд, обработанных в учетной записи пользователя.
Эффекта быть не должно, если только у вас нет скриптов, которые по какой-то причине обрабатывают этот файл.
Например -Я просто удалил свою историю bash и вышел из терминала, затем снова вошел в систему. Bash создал новый файл истории.
Подсказка :Если вы хотите, чтобы команда не записывалась в журнал, поставьте перед ней пробел.
Если это один терминал, которым пользуется только один пользователь, нет, проблем нет.
Историю Bash можно использовать в качестве журнала, но она предназначена только для пользователя, поэтому она небезопасна для проверки безопасности. Если вам нужен более безопасный журнал, необходимо настроить rsyslog и рассмотреть возможность размещения журнала в другом разделе с репликацией. и журнал ротации.
Например, попробуйте войти под каким-нибудь пользователем, выполнить несколько команд и запустить команду kill -9 $$, вы увидите, что логи не регистрируются в истории bash.
Чтобы настроить rsyslogd, вам нужно сделать следующее: (в Debian, например):
cat >/etc/rsyslog.d/bash.conf
local6.* /var/log/commands.log
[CTRL+D for save the file)
Затем,
editor /etc/bash.bashrc
И внутри (после первых строк)
export PROMPT_COMMAND='RETRN_VAL=$?;logger -p local6.debug "$SSH_CLIENT $(whoami) [$$]: $(history 1 | sed "s/^[ ]*[0-9]\+[ ]*//" ) [$RETRN_VAL]"'
readonly PROMPT_COMMAND