make: *** /usr/share/selinux/targeted: 是一个目录。 停止。
时间: 2023-12-25 09:04:58 浏览: 72
这个错误通常是由于 SELinux 导致的。SELinux 是一个安全增强的 Linux 内核模块,它通过强制访问控制策略来限制进程可以访问的资源。
如果你遇到这个问题,可能是因为你正在尝试编译一个需要访问 SELinux 相关文件的程序,但是你的 SELinux 策略并没有相应的设置。
要解决这个问题,你可以尝试在编译之前禁用 SELinux,或者修改你的 SELinux 策略以允许编译器访问所需的文件和目录。
禁用 SELinux 可以使用以下命令:
```
sudo setenforce 0
```
这会将 SELinux 的执行模式从 Enforcing(强制执行)切换到 Permissive(宽容模式),以便程序可以访问所需的文件和目录。不过需要注意的是,这并不是一个安全的解决方案,因为它放宽了 SELinux 的安全策略。
如果你想要修改 SELinux 策略,你可以使用 semanage 命令。例如,如果你需要允许编译器访问 /usr/share/selinux/targeted 目录,你可以运行以下命令:
```
sudo semanage fcontext -a -t bin_t "/usr/share/selinux/targeted(/.*)?"
sudo restorecon -R /usr/share/selinux/targeted
```
这会将 /usr/share/selinux/targeted 目录的上下文设置为 bin_t,并将其恢复为默认上下文。这样,编译器就可以访问该目录了。
阅读全文