我是linux的新手,对新手问题感到抱歉.我有一个功课额外的信用问题,我试图做,但未能得到它.
问:编写一个安全shell脚本,记录每个进程的以下信息:用户ID,启动时间,结束时间(如果进程仍在运行,则为0),进程是否尝试访问安全文件(存储为是或否) )创建的日志称为process_security_log,其中上述每条信息都存储在一个单独的行中,每个条目立即跟随(即没有空行).编写一个shell脚本,该脚本将检查此日志并输出仍在运行且尝试访问安全文件的任何进程的用户ID.
我开始尝试捕获用户并回显它但失败了.
output=`ps -ef | grep [*]`
set -- $output
User=$1
echo $User
Run Code Online (Sandbox Code Playgroud)
的输出ps既不足又无法产生该问题所需的数据。
您需要诸如auditd、SELinux 或直接内核破解(即fork.c)之类的东西来在安全日志记录领域远程执行任何操作。
更新
其他人提出了使用 shell 命令日志记录ps和朋友(proc 或 sysfs)的建议。它们很有用,并且确实有自己的位置(显然)。我认为不应该依赖它们来达到这个目的,特别是在教育背景下。
...进程是否尝试访问安全文件(存储为“是”或“否”)
似乎是其他答案忽略的一个。我坚持我原来的答案,但正如丹尼尔指出的那样,还有其他有趣的方法来装饰这些数据。
对于教育练习,这些工具将有助于提供更完整的答案。
| 归档时间: |
|
| 查看次数: |
633 次 |
| 最近记录: |