一、chcon命令

1.功能

  • 手动修改文件的SELinux安全上下文

2.命令格式

  • chcon  [-R]  [-t  type]  [-u  user]  [-r  role]  文件
  • chcom  [-R]  --reference=范例文件   文件

相关参数与选项

  • -R:连同该目录下的子目录也同时修改
  • -t:后面接安全上下文的类型栏位。例如:httpd_sys_content_t
  • -u:后面接身份识别(不重要)。例如:system_u
  • -r:后面接角色(不重要)。例如:system_r
  • -v:若有变动成功,将变动的结果列出来
  • --reference:拿某个文件当范例来修改后续接的文件的类型

3.演示案例

  • 案例一:我们将一个文件的SELinux类型修改为/etc/hosts文件的SELinux类型

第一步:在家目录下建立一个文件,然后移动到/etc/cron.d目录下。可以看到test文件的SELinux类型为admin_home_t

第二步:将test的SELinux变为/etc/hosts文件的SELinux类型

第三步:修改之后查看

  • 案例二:我们利用--reference选项再将test文件改为/etc/shadow文件的SELinux类型

第一步:查看/etc/shadow的SELinux类型

第二步:利用--reference选项修改

二、restorecon命令

1.功能

  • 让文件的SELinux类型恢复为默认的SELinux类型
  • 默认的SELinux类型与semanage命令有关,就是参考semanage这个命令所查询处的默认SELinux类型

2.命令格式

  • restorecon  [-Rv]  文件/目录

相关参数

  • -R:连同子目录一起修改
  • -v:将过程显示到屏幕

3.演示范例

  • 案例:我们将上面的test文件的SELinux类型改为默认的SELinux类型

第一步:我们查看/etc/cron.d目录的SELinux类型为:system_cron_spool_t

第二步:使用-R选项使/etc/cron.d目录的SELinux类型恢复为默认SELinux类型

可以看到该目录下test文件的SELinux类型被修改为system_cron_spool_t

三、semanage命令

1.功能

  • 查询/修改/增加/删除文件的默认SELinux类型

2.命令格式

  • semanage  [login/user/port/interface/fcontext/translation]   -l
  • semanage   fcontext  -{a/d/m}  [-frst]  file_spec

相关参数与选项

  • -l:查询
  • fcontext:主要用在安全上下文方面的用途(常用的)
  • -a:增加的意思,你可以增加一些目录的默认安全上下文类型设置
  • -m:修改的意思
  • -d:删除的意思

3.演示案例

  • 案例一:查看/etc/crom目录的默认SELinux类型。可以看到为system_cron_spool_t。并且目录下的all files都是这个类型

  • 案例二:查看/etc目录的默认SELinux类型。可以看到为etc_t

  • 案例三:验证一个目录的SELinux类型是否会影响到目录下的文件/子目录

第一步:建立一个/srv/mycron目录,然后将/etc/cron.d/test文件复制到/srv/mycron目录下,查看一下SELinux的类型。可以看到都为var_t

第二步:查看/srv/目录的SELinux类型,可以看到是var_t,所以上面那个目录和文件也是

  • 案例四:承上,将/srv/mycron目录的SELinux默认值修改为system_cron_spool_t。可以看到已经修改了

  • 案例五:承上,将/srv/mycron/目录下的所有文件都修改为自己的默认SELinux类型。然后再查看

 

 

 

Logo

更多推荐