Как вы можете регистрировать каждую команду, которую кто-то ввел в оболочку?
Я спрашиваю как на основе защиты себя, если вы вошли на чужой сервер и что-то сломалось, или если кто-то еще вошел на ваш сервер (умышленно или злонамеренно).
Даже новичок может история обхода с unset history
или создать новую оболочку , чтобы скрыть свои следы.
Мне любопытно, как старшие администраторы Linux отслеживают, какие команды были введены / внесены изменения в систему.
shell
security
command-history
history
spuder
источник
источник
execve
это не единственный системный вызов, который вам нужен для входа. Почему неexecvp
так хорошо? Илиexecl
? и т.д.exec
него написано, что «exec()
семейство функций заменяет текущий образ процесса новым образом процесса. Функции, описанные на этой странице руководства, являются внешнимиexecve(2)
». Поэтому, хотя я не уверен,execveat
что могу быть уверен вexec
семье.Вы можете использовать команду сценария . Эта команда не включена в POSIX, но вы найдете полезным хранить в файле все нажатия клавиш, а также сообщения об ошибках и вывод. Вы можете позже просмотреть файл. Если вы выполняете какую-то важную работу и хотите вести журнал всех своих действий, вы должны вызвать эту команду сразу после входа в систему:
$ script
Сценарий запущен, файл является машинописным
$ _ Обратите внимание, что это еще одна оболочка - дочерняя оболочка входа в систему
Приглашение возвращается, и все ваши нажатия клавиш (включая тот, который использовался для возврата), которые вы сейчас вводите, записываются в файл «машинопись». После окончания записи вы можете прервать сеанс, введя команду exit .
Примечание. Если вы введете имя файла сценария , сеанс будет сохранен в имени файла, а не в машинописном тексте , т. Е. Машинный текст используется по умолчанию, если не указано конкретное имя файла.
Теперь вы можете использовать имя файла cat или машинный текст cat , в зависимости от случая, для просмотра записанного сеанса.
Если вы хотите добавить новый сеанс к старому файлу, используйте: script -a Добавляет новый сеанс к машинописному тексту, здесь применяется то же правило по умолчанию
Это один из способов, с помощью которого системный администратор может отслеживать сеансы. Надеюсь, что это было информативно и полезно. Ура!
источник