相关疑难解决方法(0)

如何知道我的网络摄像头是否被使用?

哪个命令可以让我知道我的网络摄像头是否被使用?

lsof /dev/video0是不够的。应监视主次编号为 81 和 0 的所有块设备。

camera

20
推荐指数
3
解决办法
1万
查看次数

LoggedFS 配置文件语法

LoggedFS配置文件的语法是什么?

官方文档只有loggedfs命令的使用说明和配置文件示例。好的,它是 XML,但是所有可能的标签和属性是什么?它们是什么意思?

logs fuse

8
推荐指数
1
解决办法
2047
查看次数

文件的访问历史

我想知道是否有任何工具可以跟踪文件的访问历史记录。我知道stat,但据我所知,它只返回有关上次访问文件的信息。

monitoring stat files

6
推荐指数
1
解决办法
5587
查看次数

如何找到哪些程序正在读取我的文件?

我有一个配置文件,想了解哪些可执行文件正在使用它(如果有)。我想知道谁是这个文件的读者。

如果我watch有一些间隔,我会想念它,因为读取发生得如此之快:

watch -d -n 1 "lsof /home/me/my.conf"
Run Code Online (Sandbox Code Playgroud)

如果我尝试执行该程序,我很确定在 的支持下使用它strace,它会由于strace引入的额外延迟而失败。

strace -o /tmp/$(date +%s)_myprog.trace myprog
Run Code Online (Sandbox Code Playgroud)

我怎样才能可靠地证明myprog没有读取这个文件?

linux monitoring lsof files

6
推荐指数
1
解决办法
335
查看次数

监控哪些程序调用了可执行文件

我想知道什么程序调用了特定的可执行文件,包括该可执行文件何时通过 shebang 行用作解释器。

这与了解哪个程序访问特定文件并不完全相同。例如,auditctl -w /usr/bin/myprogram告诉我程序正在由……本身执行,因为审计事件是在成功execve调用后生成的。

一种选择是用包装程序替换可执行文件,就像这样......

#!/bin/sh
logger "$0: executed by uid=$(id -u) ruid=$(id -ur) cmd=$(ps -o args= -p $PPID)"
exec "$0.real" "$@"
Run Code Online (Sandbox Code Playgroud)

但这需要移动实际文件,这是破坏性的(文件不能是只读的,它与包管理器所做的修改相冲突,等等)。如果将程序用作脚本的解释器,则它不起作用,因为 shebang 不嵌套。(在那种情况下,auditctl -w /usr/bin/interpreter确实给出了一个有用的结果,但我想要一个适用于这两种情况的解决方案。)如果/bin/sh是 bash,它也不适用于 setuid 程序,因为 bash 会删除特权。

我如何监视特定可执行文件的执行,包括将可执行文件用作 shebang 解释器,特别是记录有关调用进程的有用信息(不仅是 PPID,而且至少是进程名称或父可执行文件路径,理想情况下还有调用用户和参数)?最好不要用包装器替换文件。特定于 Linux 的解决方案很好。

linux monitoring executable files

5
推荐指数
2
解决办法
1577
查看次数

标签 统计

files ×3

monitoring ×3

linux ×2

camera ×1

executable ×1

fuse ×1

logs ×1

lsof ×1

stat ×1