mkdir -Z 可创建目录并自动设置默认 SELinux 安全上下文,但需系统启用 SELinux(getenforce 返回 Enforcing/Permissive)且具备相应权限;-Z 默认按路径策略分配类型(如 /var/www/html 下为 httpd_sys_content_t),指定自定义上下文需用 --context=CTX 或 mkdir -Z CTX,创建后可用 ls -Z 验证。

直接用 mkdir -Z 就能创建目录并自动设置默认 SELinux 安全上下文,但前提是系统已启用 SELinux 且你有相应权限。
确认 SELinux 是否启用
执行以下命令检查状态:
- getenforce —— 返回 Enforcing 或 Permissive 表示已启用;返回 Disabled 则 -Z 无效
- sestatus —— 查看完整 SELinux 配置,包括策略类型(如 targeted)和当前模式
使用 -Z 创建带默认上下文的目录
不指定具体类型时,-Z 会按当前路径的默认策略自动分配上下文。例如:
-
sudo mkdir -Z /var/www/html/testsite —— 在 Web 目录下创建子目录,自动继承
httpd_sys_content_t类型 -
sudo mkdir -Z /home/user/private —— 通常设为
user_home_t或user_home_dir_t
注意:普通用户一般无法在系统路径(如 /var、/etc)下创建目录,需加 sudo;且 -Z 操作通常需要 root 权限才能生效。
Linux AI 服务器 — 将 Linux 服务器转换为本地 AI 推理集群。使用 systemd、NVIDIA CUDA 实现无头 Linux AI,零 GUI 开销。
指定自定义 SELinux 上下文
用 --context(或简写 -Z 后接类型)可强制设定上下文:
- sudo mkdir --context=system_u:object_r:httpd_sys_content_t:s0 /var/www/html/static
- sudo mkdir -Z system_u:object_r:svirt_sandbox_file_t:s0 /mnt/container-data
上下文格式为:USER:ROLE:TYPE:LEVEL,其中 TYPE 最关键。常见类型可通过 seinfo -t | grep httpd 等命令查询。
验证是否设置成功
创建后立即用 ls -Z 查看上下文:
-
ls -Z /var/www/html/testsite —— 输出类似
system_u:object_r:httpd_sys_content_t:s0 testsite - 若显示
?或字段为空,说明 SELinux 未启用,或上下文未正确写入

















