谁在 Linux 构建时在 ls -l 输出中设置点权限?

谁在 Linux 构建时在 ls -l 输出中设置点权限?

我们有一个定制的 Linux 和用户态应用程序,其中包含 libselinux、attr、OpenSSH、systemd、docker-ce 和其他一些应用程序。我们有一个类似于 fedora 的基于 rpm 的构建系统。我们尚未启用 SElinux,但仍然在 ls -l 和 ls -Z 的输出中看到 SElinux 安全上下文,如下所示。

# getenforce
Disabled

输出ls -l /

# ls -l
total 84
drwxr-xr-x.   2 root root  4096 Feb 12 14:45 bin
dr-xr-xr-x.   3 root root  4096 Feb 13 12:04 boot
drwxr-xr-x   20 root root  5120 Feb 13 19:45 dev
drwxr-xr-x.  63 root root  4096 Feb 13 19:45 etc
drwxr-xr-x    3 root root  4096 Feb 13 15:25 ffs
drwxr-xr-x    6 root root  4096 Feb 13 15:31 home
-rwxr-xr-x.   1 root root   111 Feb  7 16:11 init
drwxr-xr-x.   4 root root  4096 Feb 13 11:58 lib
drwxr-xr-x.   3 root root  4096 Feb 13 11:58 lib64
drwx------    3 root root 16384 Feb 13 12:05 lost+found
drwxr-xr-x.   2 root root  4096 Feb  7 21:43 media
drwxr-xr-x.  18 root root  4096 Feb 13 15:25 mnt
drwxr-xr-x.   6 root root  4096 Feb 13 15:25 opt
dr-xr-xr-x  469 root root     0 Feb 13 19:44 proc
dr-xr-x---.   7 root root  4096 Feb 16 15:58 root
drwxr-xr-x   22 root root   780 Feb 13 19:46 run
drwxr-xr-x.   2 root root  4096 Feb 13 12:00 sbin
drwxr-xr-x.   2 root root  4096 Feb  7 21:43 srv
dr-xr-xr-x   12 root root     0 Feb 13 19:44 sys
drwxr-xr-x.   2 root root  4096 Feb 13 15:25 tftpboot
drwxrwxrwt   11 root root   400 Feb 18 19:24 tmp
drwxr-xr-x.  20 root root  4096 Feb 13 12:02 usr
drwxr-xr-x   27 root root  4096 Feb 13 15:25 var

输出ls -Z /etc/ssh/ssh_config

# ls -Z /etc/ssh/ssh_config
system_u:object_r:container_ro_file_t:s0 /etc/ssh/ssh_config

可以使用以下命令从正在运行的计算机上的文件中删除 SElinux 上下文属性:

setfattr -h -x security.selinux /path

find /path -print0 |xargs -0 -n 1 setfattr -h -x security.selinux

Google 搜索显示了在正在运行的计算机上禁用 SElinux 上下文的结果,而不是在构建时禁用 SElinux 上下文的结果。任何人都可以帮助从构建的角度理解谁在设置这些 SElinux 上下文以及如何在构建时禁用它?如果缺少任何信息并需要添加到问题中,请发表评论。

构建和部署步骤:

  1. 使用用户空间包构建自定义 Linux。
  2. 在 x86 机器上安装
  3. 捕获输出ls -l /

期望: 的输出ls -l /不应显示 .(点)权限。

相关内容