Назад | Перейти на главную страницу

Команды ведения журнала, выполняемые удаленными сценариями оболочки

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

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

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

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

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

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

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

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

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

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

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