chcon === ä¿®æ¹å¯¹è±¡ï¼æä»¶ï¼çå®å ¨ä¸ä¸æ ## è¡¥å 说æ **chconå½ä»¤** æ¯ä¿®æ¹å¯¹è±¡ï¼æä»¶ï¼çå®å ¨ä¸ä¸æï¼æ¯å¦ï¼ç¨æ·ãè§è²ãç±»åãå®å ¨çº§å«ãä¹å°±æ¯å°æ¯ä¸ªæä»¶çå®å ¨ç¯å¢åæ´è³æå®ç¯å¢ã使ç¨`--reference`é项æ¶ï¼ææå®æä»¶çå®å ¨ç¯å¢è®¾ç½®ä¸ºä¸åèæä»¶ç¸åãchconå½ä»¤ä½äº`/usr/bin/chcon`ã ### è¯æ³ ```shell chcon [é项]... ç¯å¢ æä»¶... chcon [é项]... [-u ç¨æ·] [-r è§è²] [-l èå´] [-t ç±»å] æä»¶... chcon [é项]... --reference=åèæä»¶ æä»¶... ``` ### é项 ```shell -h, --no-dereferenceï¼å½±å符å·è¿æ¥èéå¼ç¨çæä»¶ã --reference=åèæä»¶ï¼ä½¿ç¨æå®åèæä»¶çå®å ¨ç¯å¢ï¼èéæå®å¼ã -R, --recursiveï¼éå½å¤çææçæä»¶ååç®å½ã -v, --verboseï¼ä¸ºå¤ççæææä»¶æ¾ç¤ºè¯æä¿¡æ¯ã -u, --user=ç¨æ·ï¼è®¾ç½®æå®ç¨æ·çç®æ å®å ¨ç¯å¢ã -r, --role=è§è²ï¼è®¾ç½®æå®è§è²çç®æ å®å ¨ç¯å¢ã -t, --type=ç±»åï¼è®¾ç½®æå®ç±»åçç®æ å®å ¨ç¯å¢ã -l, --range=èå´ï¼è®¾ç½®æå®èå´çç®æ å®å ¨ç¯å¢ã ``` 以ä¸é项æ¯å¨æå®äº`-R`é项æ¶è¢«ç¨äºè®¾ç½®å¦ä½ç©¿è¶ç®å½ç»æä½ç³»ãå¦ææ¨æå®äºå¤äºä¸ä¸ªé项ï¼é£ä¹åªææåä¸ä¸ªä¼çæã ```shell -Hï¼å¦æå½ä»¤è¡åæ°æ¯ä¸ä¸ªéå°ç®å½ç符å·é¾æ¥ï¼åéå符å·é¾æ¥ã -Lï¼é忝ä¸ä¸ªéå°çéå°ç®å½ç符å·é¾æ¥ã -Pï¼ä¸éåä»»ä½ç¬¦å·é¾æ¥ï¼é»è®¤ï¼ã --helpï¼æ¾ç¤ºæ¤å¸®å©ä¿¡æ¯å¹¶éåºã --versionï¼æ¾ç¤ºçæ¬ä¿¡æ¯å¹¶éåºã ``` ### å®ä¾ å¦æä½ æ³æè¿ä¸ªftpå ±äº«ç»å¿åç¨æ·çè¯ï¼éè¦å¼å¯ä»¥ä¸ï¼ ```shell chcon -R -t public_content_t /var/ftp ``` å¦æä½ æ³è®©ä½ 设置çFTPç®å½å¯ä»¥ä¸ä¼ æä»¶çè¯ï¼SELINUXéè¦è®¾ç½®ï¼ ```shell chcon -t public_content_rw_t /var/ftp/incoming ``` å è®¸ç¨æ·HHTP访é®å ¶å®¶ç®å½ï¼è¯¥è®¾å®éä» äºç¨æ·çå®¶ç®å½ä¸»é¡µï¼ ```shell setsebool -P httpd_enable_homedirs 1 chcon -R -t httpd_sys_content_t ~user/public_html ``` å¦æä½ å¸æå°sambaç®å½å ±äº«ç»å ¶ä»ç¨æ·ï¼ä½ éè¦è®¾ç½®ï¼ ```shell chcon -t samba_share_t /directory ``` å ±äº«rsyncç®å½æ¶ï¼ ```shell chcon -t public_content_t /directories ```