fixfiles命令的作用是可以修改RPM数据包里的文件的安全上下文。RPM包安装的会根据rpm包内记录来生成安全上下文。
关于安全上下文的解释:所有的操作系统访问控制都是主体和客体的相关访问控制属性来实现,在SELinux中访问控制属性称为安全上下文。
安全上下文是一个简单的、一致的访问控制属性,所有客体(文件,进程间通信,通信管道,套接字,网络主机等)和主体(进程)有一个和客体和他们相关的单一安全上下文,一个进程的类型通常称为域,域和域类型都一样,即都是安全上下文的’TYPE’,一个安全上下文是由角色,用户和类型标识符组成。
**语法格式:** fixfiles [参数] [概要]
**常用参数:**
| -l<日志文件> | 将输出保存到指定的日志文件 |
| ------------------- | --------------------------------------------------------------- |
| -F | 强制重置上下文为匹配file_context的自定义文件 |
| -f | 清除/tmp目录 |
| -R | 使用rpm数据库,以发现指定数据包中的所有文件和恢复文件的上下文 |
| check | 显示任何不正确的文件上下文标签,显示新老上下文,但不改变它们 |
| restore | 更改任何不正确的文件上下文标签 |
| relabel | 提示去除/tmp目录中的内容,然后更改任何不正确的文件上下文 |
| verify | 列出不正确的文件上下文标签,但不改变它们 |
| [dir/file] | 检查文件上下文中的文件或目录树列表 |
**参考实例**
检查指定软件包中文件的安全上下文:
```
[root@anycode ~]# fixfiles -R crontabs check
```
修改crontabs软件包中文件的安全上下文:
```
[root@anycode ~]# fixfiles -R crontabs restore
```
列出不正确的文件上下文标签:
```
[root@anycode ~]# fixfiles -R crontabs verify
```