chcon命令是修改对象(文件)的安全上下文,比如:用户、角色、类型、安全级别。也就是将每个文件的安全环境变更至指定环境。
**语法格式: ** chcon [参数]
**常用参数:**
| -h | 影响符号连接而非引用的文件 |
| ---- | ------------------------------ |
| -R | 递归处理所有的文件及子目录 |
| -v | 为处理的所有文件显示诊断信息 |
| -u | 设置指定用户的目标安全环境 |
| -r | 设置指定角色的目标安全环境 |
| -t | 设置指定类型的目标安全环境 |
| -l | 设置指定范围的目标安全环境 |
**参考实例**
把ftp共享给匿名用户:
```
[root@anycode ~]# chcon -R -t public_content_t /var/ftp
```
设置的FTP目录可以上传文件的话,SELINUX需要设置:
```
[root@anycode ~]# chcon -t public_content_rw_t /var/ftp/incoming
```
允许用户HTTP访问其家目录,该设定限仅于用户的家目录主页:
```
[root@anycode ~]# chcon -R -t httpd_sys_content_t ~user/public_html
```
将samba目录共享给其他用户,需要设置:
```
[root@anycode ~]# chcon -t samba_share_t /directory
```