1 | chcon
|
2 | ===
|
3 |
|
4 | 修改对象(文件)的安全上下文
|
5 |
|
6 | ## 补充说明
|
7 |
|
8 | **chcon命令** 是修改对象(文件)的安全上下文,比如:用户、角色、类型、安全级别。也就是将每个文件的安全环境变更至指定环境。使用`--reference`选项时,把指定文件的安全环境设置为与参考文件相同。chcon命令位于`/usr/bin/chcon`。
|
9 |
|
10 | ### 语法
|
11 |
|
12 | ```shell
|
13 | chcon [选项]... 环境 文件...
|
14 | chcon [选项]... [-u 用户] [-r 角色] [-l 范围] [-t 类型] 文件...
|
15 | chcon [选项]... --reference=参考文件 文件...
|
16 | ```
|
17 |
|
18 | ### 选项
|
19 |
|
20 | ```shell
|
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 | ```shell
|
34 | -H:如果命令行参数是一个通到目录的符号链接,则遍历符号链接。
|
35 | -L:遍历每一个遇到的通到目录的符号链接。
|
36 | -P:不遍历任何符号链接(默认)。
|
37 | --help:显示此帮助信息并退出。
|
38 | --version:显示版本信息并退出。
|
39 | ```
|
40 |
|
41 | ### 实例
|
42 |
|
43 | 如果你想把这个ftp共享给匿名用户的话,需要开启以下:
|
44 |
|
45 | ```shell
|
46 | chcon -R -t public_content_t /var/ftp
|
47 | ```
|
48 |
|
49 | 如果你想让你设置的FTP目录可以上传文件的话,SELINUX需要设置:
|
50 |
|
51 | ```shell
|
52 | chcon -t public_content_rw_t /var/ftp/incoming
|
53 | ```
|
54 |
|
55 | 允许用户HHTP访问其家目录,该设定限仅于用户的家目录主页:
|
56 |
|
57 | ```shell
|
58 | setsebool -P httpd_enable_homedirs 1
|
59 | chcon -R -t httpd_sys_content_t ~user/public_html
|
60 | ```
|
61 |
|
62 | 如果你希望将samba目录共享给其他用户,你需要设置:
|
63 |
|
64 | ```shell
|
65 | chcon -t samba_share_t /directory
|
66 | ```
|
67 |
|
68 | 共享rsync目录时:
|
69 |
|
70 | ```shell
|
71 | chcon -t public_content_t /directories
|
72 | ```
|
73 |
|
74 |
|