![如何生成由工具(例如 bash 或 vi)访问的配置文件列表?](https://linux22.com/image/5946/%E5%A6%82%E4%BD%95%E7%94%9F%E6%88%90%E7%94%B1%E5%B7%A5%E5%85%B7%EF%BC%88%E4%BE%8B%E5%A6%82%20bash%20%E6%88%96%20vi%EF%BC%89%E8%AE%BF%E9%97%AE%E7%9A%84%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%E5%88%97%E8%A1%A8%EF%BC%9F.png)
很多时候,两台相似的 Linux 机器之间会存在轻微的不一致,例如,tmux 在机器 M1 上支持颜色,但在机器 M2 上不支持颜色,或者 vi 在 M1 上自动添加注释和格式,但在 M2 上不添加注释和格式,或者 bash提示是否打开或关闭了线路扭曲,ssh 选项可能不匹配。
通常,我们可以尝试“strace bash”或“strace ssh”或“ssh -vvv”和“man vi”并查找正在访问的标准文件。但是,在非标准安装中(包括自定义编译)这些位置可能不完整。
在某些情况下,我们甚至不能使用 strace 或传递详细选项,例如登录 shell,或某些脚本调用其他调用相关工具的脚本。
所以我的问题是:是否有任何标准方法和工具可以帮助查找某些工具访问的所有配置文件?具体示例:在 M1 上,bash 具有 line-warp,而在 M2 上则没有,即使所有相关参数/文件 (.bashrc/.inputrc) 均按预期且在 M1 和 M2 上相同。
答案1
根据@0xC0000022L的评论,我发现http://security.blogoverflow.com/2013/01/a-brief-introduction-to-auditd/这似乎很有用,因此将其添加为社区维基答案,以防其他人搜索此类问题;我不希望他们继续前进,认为这里没有答案。