无法访问特定文件

无法访问特定文件

我的目录中有 5 个文本文件。它们都具有相同的权限 ( -rw-r--r--) 和相同的所有者 ( tom)。但是,tom 无法访问其中两个文件。例如,cat Fourier.f结果为“不允许操作”。 Vi 也失败了。对其他三个文件的访问符合预期。

下面是结果ls -ail

total 20
134227359 drwxr-xr-x.  2 tom tom  85 Nov 14 11:27 .
     6867 drwxr-xr-x. 12 tom tom 148 Oct  3 21:53 ..
134227364 -rw-r--r--.  1 tom tom 811 Sep 21 16:55 blocks.f
134227363 -rw-r--r--.  1 tom tom 413 Sep 21 16:55 formats.f
134227360 -rw-r--r--.  1 tom tom 113 Sep 21 16:55 Fourier.f
134227362 -rw-r--r--.  1 tom tom 309 Sep 21 16:55 index.f
134227361 -rw-r--r--.  1 tom tom 492 Sep 21 16:55 OptF.f

Fourier.fOptF.f是受影响的文件。我注意到它们都是大写的,如果这很重要的话,出于某种疯狂的原因。

可以使用 访问这些文件sudo

  • 操作系统是新安装的RHEL 8.7工作站。
  • 文件系统使用 LUKS 加密。
  • 文件系统是xfs。
  • 我使用 oscap 实施了安全策略。

这些文件是通过下载 zip 文件并运行来创建的unzip

我尝试将其下载到不同的位置几次,但结果相同。

我在 Ubuntu 机器上执行相同的操作,结果是可以按预期访问文件。

更新:

在玩的过程中,我注意到以下几点。

考虑一个具有如下十六进制值的文件

00000000: 2020 2020 2020 6d6f 6475 6c65 2046 6f75        module Fou
00000010: 2020 7361 7665 0a20 2020 2020 2065 6e64    save.      end
00000020: 0a                                       .

如果我运行xxd -r <file> out.f,则out.f无法访问,如上所述。

F如果我将(46 十六进制)更改为f(66 十六进制)并xxd以相同的方式运行,则可以访问输出。所以文件的内容似乎是用来确定访问权限的。诡异的。

我遇到这个是因为我跑去xxd Fourier.f > Fhex看十六进制,看看是否有什么奇怪的,然后开始拿出东西看看效果。

答案1

罪魁祸首是fapolicyd。我运行systemctl stop fapolicyd并随后能够按预期访问文件。因此,下一步是弄清楚如何配置策略,以免发生这种情况。

相关内容