文件的SELinux属性

1.临时修改文件的类型属性

文件的类型属性不正确是常见的SELinux拒绝访问的主要原因

1)修改文件的SELinux属性:

[[email protected] ~]# touch test.file   ##新建文件

[[email protected] ~]# ls -Z test.file   ##查看文件的SELinux属性

-rw-r--r--. root root unconfined_u:object_r:admin_home_t:s0 test.file

[[email protected] ~]# chcon -t samba_share_t test.file  ##修改文件的默认SELinux属性

[[email protected] ~]# ls -Z test.file

-rw-r--r--. root root unconfined_u:object_r:samba_share_t:s0 test.file

[[email protected] ~]# restorecon -F -v test.file   ##恢复修改过的SELinux属性为默认属性

restorecon reset /root/test.file context unconfined_u:object_r:samba_share_t:s0->system_u:object_r:admin_home_t:s0

[[email protected] ~]# ls -Z test.file

-rw-r--r--. root root system_u:object_r:admin_home_t:s0 test.file

2)修改目录的SELinux属性(所有的操作与文件对比多了一个“-R”代表递归):

[[email protected] ~]# mkdir /web

[[email protected] ~]# touch /web/file{1,2}

[[email protected] ~]# ls -dZ /web  ##查看目录的SELinux属性

drwxr-xr-x. root root unconfined_u:object_r:default_t:s0 /web

[[email protected] ~]# ls -lZ /web/   ##查看目录下文件的SELinux属性

-rw-r--r--. root root unconfined_u:object_r:default_t:s0 file1

-rw-r--r--. root root unconfined_u:object_r:default_t:s0 file2

[[email protected] ~]# chcon -R -t httpd_sys_content_t /web/    ##临时修改目录的SELinux属性为httpd_sys_content_t

[[email protected] ~]# ls -dZ /web/

drwxr-xr-x. root root unconfined_u:object_r:httpd_sys_content_t:s0 /web/

[[email protected] ~]# ls -lZ /web/

-rw-r--r--. root root unconfined_u:object_r:httpd_sys_content_t:s0 file1

-rw-r--r--. root root unconfined_u:object_r:httpd_sys_content_t:s0 file2

[[email protected] ~]# restorecon -R -v /web/   ##恢复为默认SELinux属性

restorecon reset /web context unconfined_u:object_r:httpd_sys_content_t:s0->unconfined_u:object_r:default_t:s0

restorecon reset /web/file2 context unconfined_u:object_r:httpd_sys_content_t:s0->unconfined_u:object_r:default_t:s0

restorecon reset /web/file1 context unconfined_u:object_r:httpd_sys_content_t:s0->unconfined_u:object_r:default_t:s0

[[email protected] ~]# ls -lZ /web/

-rw-r--r--. root root unconfined_u:object_r:default_t:s0 file1

-rw-r--r--. root root unconfined_u:object_r:default_t:s0 file2

[[email protected] ~]# ls -dZ /web/

drwxr-xr-x. root root unconfined_u:object_r:default_t:s0 /web/

2.永久修改文件的类型属性

永久修改文件及目录的类型属性使用下列命令:

semanage fcontext -{a|d|l|m} [-frst] filespec  ##-a增加、-d删除、-l显示、-m修改

restorecon -v filespec    ##由于“semanage fcontext”命令只是将属性定义项加载到

“/etc/selinux/targeted/contexts/files/file_contexts.local”文件中,

使用该命令才是将文件的selinux属性永久地修改.

1)文件的selinux属性修改

[[email protected] tmp]# touch test.file

[[email protected] tmp]# ls -Z test.file

-rw-r--r--. root root unconfined_u:object_r:user_tmp_t:s0 test.file

[[email protected] tmp]# yum install policycoreutils-python  ##安装semanage管理工具提供软件

[[email protected] tmp]# semanage fcontext -a -t samba_share_t /tmp/test.file  ##将测试文件的selinux属性设置为“samba_share_t”

[[email protected] tmp]# ls -Z /tmp/test.file   ##测试文件的selinux属性未发生变化

-rw-r--r--. root root unconfined_u:object_r:user_tmp_t:s0 /tmp/test.file

[[email protected] tmp]# restorecon -v /tmp/test.file    ##使semanage设置的selinux属性永久的生效

restorecon reset /tmp/test.file context unconfined_u:object_r:user_tmp_t:s0->unconfined_u:object_r:samba_share_t:s0

[[email protected] tmp]# ls -Z /tmp/test.file   ##测试文件的selinux属性已改

-rw-r--r--. root root unconfined_u:object_r:samba_share_t:s0 /tmp/test.file

2)目录的selinux属性修改:(完成后目录下新建的文件自动继承selinux属性)

[[email protected] ~]# mkdir /html

[[email protected] ~]# touch /html/file{1,2}

[[email protected] ~]# ls -dZ /html

drwxr-xr-x. root root unconfined_u:object_r:default_t:s0 /html

[[email protected] ~]# ls -lZ /html/

-rw-r--r--. root root unconfined_u:object_r:default_t:s0 file1

-rw-r--r--. root root unconfined_u:object_r:default_t:s0 file2

[[email protected] ~]# semanage fcontext -a -t httpd_sys_content_t "/html(/.*)?"  ##正则表达式“/html(/.*)?”表示/html目录及其中的任何文件或子目录

[[email protected] ~]# restorecon -R -v /html/  ##使semanage设置的selinux属性永久的生效

restorecon reset /html context unconfined_u:object_r:default_t:s0->unconfined_u:object_r:httpd_sys_content_t:s0

restorecon reset /html/file2 context unconfined_u:object_r:default_t:s0->unconfined_u:object_r:httpd_sys_content_t:s0

restorecon reset /html/file1 context unconfined_u:object_r:default_t:s0->unconfined_u:object_r:httpd_sys_content_t:s0

[[email protected] ~]# ls -lZ /html/   ##验证修改结果

-rw-r--r--. root root unconfined_u:object_r:httpd_sys_content_t:s0 file1

-rw-r--r--. root root unconfined_u:object_r:httpd_sys_content_t:s0 file2

[[email protected] ~]# ls -dZ /html/

drwxr-xr-x. root root unconfined_u:object_r:httpd_sys_content_t:s0 /html/

3)如果要恢复/html的文件属性可使用下列命令:

[[email protected] ~]# semanage fcontext -d "/html(/.*)?"   ##删除自定义的selinux属性

[[email protected] ~]# restorecon -F -R -v /html/  ##永久生效

restorecon reset /html context unconfined_u:object_r:httpd_sys_content_t:s0->system_u:object_r:default_t:s0

restorecon reset /html/file2 context unconfined_u:object_r:httpd_sys_content_t:s0->system_u:object_r:default_t:s0

restorecon reset /html/file1 context unconfined_u:object_r:httpd_sys_content_t:s0->system_u:object_r:default_t:s0

[[email protected] ~]# ls -lZ /html  ##验证文件的selinux属性已经从“httpd_sys_content_t”改为默认的"default_t"

-rw-r--r--. root root system_u:object_r:default_t:s0   file1

-rw-r--r--. root root system_u:object_r:default_t:s0   file2

[[email protected] ~]# ls -dZ /html

drwxr-xr-x. root root system_u:object_r:default_t:s0   /html

4)file_t与default_t

file_t:文件没有selinux属性

default_t:文件或目录的selinux属性与file-context配置文件定义的模式不匹配

两种的类型的文件或目录,受限制的域的程序均不能访问

时间: 2024-10-22 11:09:27

文件的SELinux属性的相关文章

文件的复制、移动、压缩等对SELinux属性关系详解

1.临时修改文件的类型属性 文件的类型属性不正确是常见的SELinux拒绝访问的主要原因 1)修改文件的SELinux属性: [[email protected] ~]# touch test.file   ##新建文件 [[email protected] ~]# ls -Z test.file   ##查看文件的SELinux属性 -rw-r--r--. root root unconfined_u:object_r:admin_home_t:s0 test.file [[email pro

Linux文件权限和属性

Linux文件介绍 Linux 文件属性 可以通过命令ll+文件名,查看文件的具体属性 例如:ll syz.gz 1736706 -rw-r--r--. 1 root root 28 Oct 27 12:01 syz.gz     ①            ②      ③  ④   ⑤   ⑥  ⑦  ⑧     ⑨       ⑩ 第一列①:iNode索引节点编号#(类似人的身份证,全国唯一): 系统读取文件时首先通过文件名找到inode,然后才能读取到文件内容. 第二列②:文件类型及权限(

笔记 3 文件的特殊属性

文件与目录的默认权限与隐藏权限1.umask:新建文件或者目录时的默认权限    umask    ##显示系统预留权限值    umask -S        u=rwx,g=rx,o=rx                                           ##显示系统的默认创建文件,目录的属性    [[email protected] ~]# touch file    [[email protected] ~]# mkdir file1    [[email prote

Linux文件和目录属性

文件和目录属性 #ls -l 查看当前目录下的文件 如: drwxr-xr-x  2 root root  4096 12月  4 20:31 111 -rw-r--r--  1 root root 12777 12月  4 20:31 123.txt drwxr-xr-x  2 root root  4096 12月  4 20:31 222 drwxr-xr-x  2 root root  4096 12月  4 20:31 234 -rw-------. 1 root root   943

获取文件的详细属性,大小,修改日期,所在位置等

asp.net 获得文件属性中的修改时间,获得系统文件属性的方法,最后一次写入时间 1 #region 获取文件的详细属性,大小,修改日期,所在位置等 2 /// <summary> 3 /// 获取文件的详细属性,大小,修改日期,所在位置等 4 /// </summary> 5 /// <param name="files">文件的路径</param> 6 /// <returns></returns> 7 pu

linux中改变文件权限和属性

Linux中,默认显示所有用户名的文件在/etc/passwd,用户组的信息在/etc/group 密码/etc/shadow chgrp改变文件所属用户组 chgrp [-R] 用户组名 文件或目录 chown改变文件所有者 chown [-R] 账号名称或账号名称:组名 文件或目录 chmod改变文件权限 chmod [-R] xyz 文件或目录 都有一个-R参数,表示进行递归的持续更改,也即连同子目录下所有的文件.目录都变更相应的权限 xyz表示数字类型的权限属性,为rwx的属性相加 r:

hibernate映射文件property常用属性

<property>常用属性name:映射类属性的名字column:对应数据库表的字段名 默认值为属性名 type:字段的类型 update:update操作时是否包含本字段的数据 默认值为true (设置为false则hibernate执行update语句时会把这个 字段忽略)insert:insert操作时是否包含本字段的数据 默认值为true (设置为false则hibernate执行insert语句时会把这个 字段忽略)formula:定义一个SQL来计算这个属性的值 access:H

Linux 程序设计学习笔记----Linux下文件类型和属性管理

转载请注明出处:http://blog.csdn.net/suool/article/details/38318225 部分内容整理自网络,在此感谢各位大神. Linux文件类型和权限 数据表示 文件属性存储结构体Inode的成员变量i_mode存储着该文件的文件类型和权限信息.该变量为short int类型. 这个16位变量的各个位功能划分为: 第0-8位为权限位,为别对应拥有者(user),同组其他用户(group)和其他用户(other)的读R写W和执行X权限. 第9-11位是权限修饰位,

linux 文件查看命令 文件和目录属性

一.文件查看命令 #-  1.tac 用法:cat [选项]... [文件]... 将[文件]或标准输入组合输出到标准输出 #- 2.tac  用法:tac [选项]... [文件]...  将每个指定文件按行倒置并写到标准输出. 如果不指定文件,或文件为"-",则从标准输入读取数据. #- 3.cat -A  (大A)   会出现$  表示一行结束符号 #- 4.more  可以一屏一屏的看文件,按空格下翻,按Q退出 #- 5.less 可以上下翻屏 #- 6.head  显示前十行