SELinux上下文的继承性

关于SELinux上下文的继承性

如果我在一个目录下执行vim、mkdir

那么我新创建的文件的上下文是与谁相同的呢?

是以当前的用户、当前的目录、bash、执行的命令为基准的呢

还有特殊的cp、tar命令这些,这类命令的结果是按照原文件上下文得到的吗

描述有些不当,请见谅

基于Monster 组和GPT的调写:
在SELinux中,每个进程和文件都有一个安全上下文(security context)。这个安全上下文包含了一些标签(labels),用于决定该进程或文件可以执行哪些操作以及被哪些进程或用户访问。

当在一个目录下执行 vim、mkdir 等命令时,新创建的文件的安全上下文将继承该目录的安全上下文。因此,该文件的安全上下文将与该目录的安全上下文相同。这里的“该目录的安全上下文”包含了目录的安全标签以及可能存在的默认安全上下文。

对于特殊的命令,如 cp、tar 等,它们会尝试保留原始文件的安全上下文,除非您显式地指定了另一个安全上下文。如果从一个安全上下文不同的目录复制文件,则新文件的安全上下文将根据目标目录的安全上下文进行调整。

需要注意的是,有些程序可能会自动更改文件的安全上下文,例如 httpd 守护程序。在这种情况下,您可能需要手动更改文件的安全上下文以确保它可以被访问。