Регистрация команд, выполняемых сценариями удаленной оболочки

Я заметил, что при запуске сценария, который подключается к ряду наших серверов (по сути, для запуска пакетных команд), команды не регистрируются в файлах пользователя.sh_history или.bash_history. Есть ли место, где это регистрируется (при условии, что сам скрипт не выполняет регистрацию, и я нигде не показываю вывод)?

Я говорю конкретно об AIX, но я бы предположил, что этот вопрос относится ко всем разновидностям *nix. Спасибо!

1 ответ

Файлы истории.*_ Изменяются при запуске интерактивной оболочки. В вашем случае удаленный сервер входит в это поле и запускает сценарий и выходит из процесса, но не вызывает интерактивную оболочку. Следовательно, нет команды регистрации.

Даже если это не удаленный сервер, подумайте о ситуации ниже:

Вы находитесь в приглашении оболочки и последовательно запускаете эти команды

# ls -l
# grep $(whoami) /etc/passwd
# netstat -rn

и когда вы оглянетесь назад на историю оболочки, вы увидите там эти команды. Теперь поместите все 3 команды в сценарий оболочки и назовите его "collect_data.sh", выполните chmod, чтобы сделать его исполняемым, и выполните его, выполнив # ./collect_data.sh

когда вы оглядываетесь назад в историю своей оболочки, что вы видите? Эти три команды или просто ./collect_data.sh? Ставлю доллары на твой карман, что он последний.

Когда вы вызываете сценарий оболочки, независимо от того, выполняется ли он локально или удаленно, вы создаете вложенную оболочку, в которой выполняются команды. Эти оболочки, не являющиеся интерактивными, не имеют возможности записи в файл (ы) истории. Конечно, это не требует перекомпиляции вашего исполняемого файла оболочки странным способом, чтобы разрешить такую ​​активность, но зачем кому-то это делать?

Поскольку вы задали этот вопрос, у меня сложилось впечатление, что вы думаете, что кто-то, выполняющий удаленные команды, может совершать что-то зловещее, а вы о них не знаете. Если дело обстоит так, вам нужна помощь от аудиторов приложений, подобных tripwire или аналогичных. Просто взглянув на историю оболочки, даже там были команды, вы ничего не можете доказать.

Надеюсь это поможет

Другие вопросы по тегам