谁在我的 centos VPS 上执行了该特定命令

谁在我的 centos VPS 上执行了该特定命令

我注意到我的系统正在执行一个未知的 mysqldump 命令。但我尚未配置我的系统来执行该命令。以下是我执行 ps aux | grep mysqldump 时的输出

500      28651  0.0  0.0   7892  1852 ?        Ss   00:26   0:01 /usr/bin/mysqldump --opt --default-character-set=utf8 --skip-extended-insert --allow-keywords --quote-names --compact --complete-insert --skip-lock-tables --quick --skip-comments --host=localhost --user=database_user --password=x xxxxxxxxxxxxxxxxxxx database atable

500 可能是我自己的用户帐户的 uid(并且唯一具有 bash 访问权限的用户帐户)

我已经尝试了所有方法,例如lasthistory和 cron 日志,但无法找到来源。

如何查找谁在我的系统上执行这个特定的命令?

更新:这是getent passwd 500输出:

myusername:x:500:500::/home/myusername:/bin/bash

它再次发生了,现在我有更多信息

这是cat /proc/28126/status

Name:   mysqldump
State:  S (sleeping)
SleepAVG:       98%
Tgid:   28126
Pid:    28126
PPid:   28108
TracerPid:      0
FNid:   10048627
Uid:    500     500     500     500
Gid:    500     500     500     500
FDSize: 64
Groups: 500 501

这是输出ps auxf | grep mysqldump

500      28126  0.0  0.0   7892  1852 ?        Ss   08:05   0:01          \_ /usr/bin/mysqldump --opt --default-character-set=utf8 --skip-extended-insert --allow-keywords --quote-names --compact --complete-insert --skip-lock-tables --quick --skip-comments --host=localhost --user=datebase_user --password=x xxxxxxxxxxxxxxxxxxx database anothertable

更新 2:这是输出ps aux | grep 28108

500      28108  0.1  0.0  10504  2024 ?        S    08:05   0:04 sshd: myusername@notty

哦,看起来有人有 sshd,但是如何找到 IP?

答案1

getent passwd 500应该会告诉您哪个用户的 uid 为 500。由于 tty 列是?,因此目前它似乎并未附加到特定登录。(尽管这可能意味着有人以交互方式启动了它,然后disown对其进行了编辑。)

我想知道您是否在 cron 中安排了您不知道的备份。您可以使用crontab -l -u username或检查该用户的 crontab cat /var/spool/cron/crontabs/username,并检查目录,例如/etc/cron.d /etc/cron.daily /etc/cron.hourly

答案2

添加--forest到您的ps命令中。这将向您显示所有进程的父/子关系。然后您应该能够沿着树向上走,直到找到启动它的进程。

相关内容