|
| 1 | +chcon |
| 2 | +=== |
| 3 | + |
| 4 | +修改对象(文件)的安全上下文 |
| 5 | + |
| 6 | +## 补充说明 |
| 7 | + |
| 8 | +**chcon命令** 是修改对象(文件)的安全上下文,比如:用户、角色、类型、安全级别。也就是将每个文件的安全环境变更至指定环境。使用`--reference`选项时,把指定文件的安全环境设置为与参考文件相同。chcon命令位于`/usr/bin/chcon`。 |
| 9 | + |
| 10 | +### 语法 |
| 11 | + |
| 12 | +``` |
| 13 | +chcon [选项]... 环境 文件... |
| 14 | +chcon [选项]... [-u 用户] [-r 角色] [-l 范围] [-t 类型] 文件... |
| 15 | +chcon [选项]... --reference=参考文件 文件... |
| 16 | +``` |
| 17 | + |
| 18 | +### 选项 |
| 19 | + |
| 20 | +``` |
| 21 | +-h, --no-dereference:影响符号连接而非引用的文件。 |
| 22 | + --reference=参考文件:使用指定参考文件的安全环境,而非指定值。 |
| 23 | +-R, --recursive:递归处理所有的文件及子目录。 |
| 24 | +-v, --verbose:为处理的所有文件显示诊断信息。 |
| 25 | +-u, --user=用户:设置指定用户的目标安全环境。 |
| 26 | +-r, --role=角色:设置指定角色的目标安全环境。 |
| 27 | +-t, --type=类型:设置指定类型的目标安全环境。 |
| 28 | +-l, --range=范围:设置指定范围的目标安全环境。 |
| 29 | +``` |
| 30 | + |
| 31 | +以下选项是在指定了`-R`选项时被用于设置如何穿越目录结构体系。如果您指定了多于一个选项,那么只有最后一个会生效。 |
| 32 | + |
| 33 | +``` |
| 34 | +-H:如果命令行参数是一个通到目录的符号链接,则遍历符号链接。 |
| 35 | +-L:遍历每一个遇到的通到目录的符号链接。 |
| 36 | +-P:不遍历任何符号链接(默认)。 |
| 37 | +--help:显示此帮助信息并退出。 |
| 38 | +--version:显示版本信息并退出。 |
| 39 | +``` |
| 40 | + |
| 41 | +### 实例 |
| 42 | + |
| 43 | +如果你想把这个ftp共享给匿名用户的话,需要开启以下: |
| 44 | + |
| 45 | +``` |
| 46 | +chcon -R -t public_content_t /var/ftp |
| 47 | +``` |
| 48 | + |
| 49 | +如果你想让你设置的FTP目录可以上传文件的话,SELINUX需要设置: |
| 50 | + |
| 51 | +``` |
| 52 | +chcon -t public_content_rw_t /var/ftp/incoming |
| 53 | +``` |
| 54 | + |
| 55 | +允许用户HHTP访问其家目录,该设定限仅于用户的家目录主页: |
| 56 | + |
| 57 | +``` |
| 58 | +setsebool -P httpd_enable_homedirs 1 |
| 59 | +chcon -R -t httpd_sys_content_t ~user/public_html |
| 60 | +``` |
| 61 | + |
| 62 | +如果你希望将samba目录共享给其他用户,你需要设置: |
| 63 | + |
| 64 | +``` |
| 65 | +chcon -t samba_share_t /directory |
| 66 | +``` |
| 67 | + |
| 68 | +共享rsync目录时: |
| 69 | + |
| 70 | +``` |
| 71 | +chcon -t public_content_t /directories |
| 72 | +``` |
| 73 | + |
| 74 | + |
| 75 | +<!-- Linux命令行搜索引擎:https://jaywcjlove.github.io/linux-command/ --> |
0 commit comments