Я хотел отслеживать все изменения, внесенные в файл на сервере Linux (Redhat). Я провел небольшое исследование и нашел этот инструмент аудита, который я уже установил и настроил, используя следующие команды:
yum install audit # installation
/etc/init.d/auditd start # started service
auditctl -w /root/file-name -p war -k password-file # configured rule to audit file
ausearch -f /root/file-name # Command to search modifications
Он записал все изменения, внесенные в конкретный файл. Все было хорошо, пока я не наткнулся на следующие сценарии:
Случай 1 :
Я удалил файл, который отслеживаю с помощью вышеупомянутого инструмента аудита, с сервера, используя следующую команду:
rm -rf /root/file-name
Он зафиксировал следующие результаты:
type=SYSCALL msg=audit(1540222267.321:1057): arch=c000003e syscall=2 success=yes exit=3 a0=7ffe22abf91a a1=941 a2=1b6 a3=7ffe22abed70 items=2 ppid=21053 pid=42458 auid=14628 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty = pts0 ses=5 comm="touch" exe="/bin/rm" key="password-file"
Случай 2: Я удалил файл с удаленного сервера, используя следующую команду:
ssh host "echo 'rm -rf /root/file-name'|sudo su - root"
Он зафиксировал следующие результаты:
type=SYSCALL msg=audit(1540222588.196:1118): arch=c000003e syscall=263 success=yes exit=0 a0=ffffffffffffff9c a1=ce70c0 a2=0 a3=7fff52a6af40 items=2 ppid=42520 pid=42533 auid=14628 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty = (нет) ses=9 comm="rm" exe="/bin/rm" key="password-file"
Теперь меня смущает то, почему tty
записывается как none, когда я выполнял команду удаленно. Я искал в Интернете по этому поводу, но, к сожалению, мне не удалось найти ничего, что могло бы прояснить мою путаницу.
Может ли кто-нибудь объяснить, почему это было записано как tty=(none)
в случае 2?
Заранее спасибо, дайте мне знать, если мой вопрос неясен или чего-то не хватает, я исправлю.
Когда вы даете ssh удаленную команду для выполнения, он не выделяет интерактивный tty, потому что он не требуется. Если вы хотите принудительно выделить tty, используйте -t
.