这是我同事经常问的问题。我们是一个由许多人组成的团队,他们在同一个Unix和Linux服务器上工作。反复出现的问题是,在linux/unix中是否默认存在日志或类似的内容,其中查看用户何时在服务器中启动sh/ksh脚本或任何其他可执行程序。
例如,Susan在10h23执行write.ksh,Paul在11h03执行files_rights.sh,Yves在13h12执行./rename_files。系统管理员正在休假,但他将于明天到达,并想知道是谁执行了什么,以及他/她什么时候做的。
发布于 2013-12-19 23:20:35
如果启用了审计日志记录(auditd),则应该能够查询audit.log文件以查看何时运行命令X。
$ sudo ausearch -x /usr/bin/sudo | head -5
----
time->Sat Dec 7 21:15:15 2013
type=USER_AUTH msg=audit(1386468915.558:419): pid=2189 uid=1000 auid=1000 ses=1 subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 msg='op=PAM:authentication acct="saml" exe="/usr/bin/sudo" hostname=? addr=? terminal=/dev/pts/0 res=success'
----
time->Sat Dec 7 21:15:15 2013但是,请注意,您必须制定规则来监视特定的可执行文件或整个文件目录。但是,auditd是一种软件,可以报告关于在给定的Linux盒上使用的应用程序和文件对象的非常详细的细节。
https://unix.stackexchange.com/questions/105953
复制相似问题