我的目录中有 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.f
和OptF.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
并随后能够按预期访问文件。因此,下一步是弄清楚如何配置策略,以免发生这种情况。