收藏 分销(赏)

SELinux概述.doc

上传人:a199****6536 文档编号:3316748 上传时间:2024-07-01 格式:DOC 页数:89 大小:263.50KB 下载积分:16 金币
下载 相关 举报
SELinux概述.doc_第1页
第1页 / 共89页
SELinux概述.doc_第2页
第2页 / 共89页


点击查看更多>>
资源描述
SELinux使用了分级的强制访问控制,是Linux内核的重要安全措施。SELinux的安全策略工具可从 3.1  SELinux概述 SELinux是安全增强了的Linux,是Security-enhanced Linux的简写,SELinux改进了对内核对象和服务的访问控制,改进了对进程初始化、继承和程序执行的访问控制,改进了对文件系统、目录、文件和打开文件描述的访问控制,还改进了对端口、信息和网络接口的访问控制。 早期的Linux内核只提供了经典的UNIX自主访问控制(root用户,用户ID,模式位安全机制),以及部分地支持了POSIX.1e标准草案中的capabilities安全机制,这对于Linux系统的安全性是不够的,NSA(the National Security Agency)和SCC(Secure Computing Corporation)共同开发了强大的基于类型加强(Type Enforcement)的强制访问控制(mandatory access control,简称MAC)机制,提供了动态的安全策略机制。 Linux内核增加了一个通用的安全访问控制框架,它通过hook函数来控制程序的执行,这个框架就是Linux安全模块(LSM),在LSM上可使用各种安全控制机制(如:Flask机制)来实现对程序的控制。 SELinux应用了类型加强(Type Enforcement,TE)和基于角色访问控制(role-based access control,RBAC)技术。 TE给每个主体(进程)和系统中的客体定义了一个类型,这些类型定义在SELinux的安全策略文件中,以安全标签形式存放在文件本身的扩展属性(extended attributes,简称xattrs)里。 当一个类型与一个进程相关时,这个类型称为域(domain),例如:后台进程httpd的域为httpd_t。 主体(subject)对客体(object)的操作在SELinux中默认下是不允许的,而由策略定义允许的操作。TE使用主体的域和客体类型从策略文件中查找操作许可。例如:策略中的一条规则如下: allow httpd_t net_conf_t:file { read getattr lock ioctl }; 这条规则表示httpd_t域对net_conf_t类型客体的文件有“{}”中所表示的操作权限。 SELinux的访问控制规则存放在安全策略文件中,策略文件分为二进制和源代码文件,源代码以策略配置语言的形式描述,由编程者创建和维护。源代码经策略配置工具编译后生成二进制文件。二进制策略被装载到内核空间,形成在内存中的策略库及缓存,内核就可以使用访问控制规则了。 SELinux可以实现非常小颗粒的访问控制,这些细小颗粒的访问控制也造成了安全策略的复杂性。 Linux内核的SELinux安全体系由Flask和LSM框架共同组成,LSM是由hook函数组成的安全控制框架,Flask框架将SElinux的策略规则转换成访问控制许可。 在安全策略配置语言中经常用到的名称术语说明如下。 subject 主体,常指一个进程 object 客体,常指一个文件 object class客体的类 permission 许可 context上下文 user  用户 role  角色 type 类型 Type Attributes 类型属性 Type Enforcement 类型增强 dormain 域,它是一个进程的类型 source type  源类型 target type  目标类型 labeling  标识 access vector cache (AVC) 访问向量缓存 access decision 访问决策 3.1.1  Linux与SELinux在安全管理上的区别 在传统的Linux自由访问控制(Discretionary Access Controls,DAC)之后,SELinux在内核中使用强制访问控制机制(MAC)检查允许的操作。 在DAC下,文件客体的所有者提供了客体上的潜在风险控制。用户可以通过错误配置的chmod命令和一个非期望的访问权限传递,暴露一个文件或目录给一个恶意信任者。这个用户启动的进程,如:CGI脚本,可在这个用户拥有的文件做任何的操作。 DAC实际上仅有两个主要的用户分类:管理者和非管理者。为了解决权限分级,它使用了访问控制列表(access control lists,简称ACL),给非管理者用户提供不同的权限。而root用户对文件系统有完全自由的控制权。 MAC访问控制框架可以定义所有的进程(称为主体)对系统的其他部分(如:文件、设备、socket、端口和其他进程,它们被称为客体或目标对象)进行操作的权限或许可。这些许可由进程和客体的安全策略来定义,通过内核实现控制。这种方式可给一个进程仅授予操作所需要的权限,这遵循了最小权限原则。在MAC下,即使用户用chmod暴露了他们的数据,但进程还是无法修改在策略中没有许可的文件。 DAC和MAC分别使用自己的访问控制属性,两者独立,但都必须通过权限检查。它们的区别有以下二个: 1.在主体的访问控制上: DAC:真实有效的用户和组ID MAC:安全上下文(user:role:type) DAC和MAC的UID是独立的。 2.在客体的访问控制上: DAC:(文件)访问模式(rwx r-x r-x)和用户及组ID MAC:安全上下文(user:role:type) 3.1.2  Flask安全框架概述 1.Flask框架对操作许可的判定过程 图3-1描述了Flask框架,图中,一个主体进程对系统中的客体(如:设备文件)进行操作,如:读写文件。这个操作通过DAC权限检查之后,再进行SELinux的权限检查。在DAC检查中,主体通过基于ACL常规文件权限获得了对客体的操作许可。SELinux权限检查的过程如下: 策略强制服务器(policy enforcement server)从主体和客体收集安全上下文,并发送安全上下文标签对给安全服务器(security server),安全服务器负责产生策略的决策。 策略强制服务器首先检查AVC,如果AVC有高速缓存的策略决策,它返回决策给策略强制服务器。如果没有,它转向到安全服务器,安全服务器使用系统初始化期间装载到内核的二进制策略作出决策,将决策放到AVC的cache中进行缓存,并将决策返回给策略强制服务器。 如果决策为允许操作,则主体对客体进行操作,否则,操作被禁止,禁止操作信息被记录到log文件,log文件一般为/var/log/messages。   图3-1  Flask框架 安全服务器产生策略决策的同时,强制服务器处理任务的其他部分。从这个角度来看,强制服务器部分可以看作客体管理器,客体管理包括用安全上下文件标识客体、管理内存中的标签、管理客户端和服务器的标识行为。 2.Flask框架组成说明 Flask安全体系结构由客体管理器和安全服务器组成。客体管理器实施安全策略的判定结果,安全服务器作出安全策略的判定。 Flask安全体系结构提供从安全服务器检索访问、标记和多例化判定的接口。访问判定指主体对客体操作的一个权限是否得到批准。标记指分配给一个客体的安全属性标签。多例化判定指一个特定的请求应该从多例化资源中选取哪一个。 Flask安全体系结构还提供一个访问向量缓存(AVC)模块,该模块允许从客体管理器缓存中直接取出缓存的判定结果,以提高执行速度。 Flask框架的安全服务器的安全策略由四个子策略组成:多级安全(MLS)策略、类型加强(TE)策略、基于标识的访问控制(IBAC)策略和基于角色的访问控制(RBAC)策略。安全服务器提供的访问判定必须满足每个子策略的要求。 安全服务器定义了一个由类型加强(TE)策略、基于角色的访问控制(RBAC)策略和多级安全(MLS)策略组合成的策略决策系统。其中,TE和RBAC策略是安全策略的必要部分,MLS策略是可选的,当内核配置选项CONFIG_FLASK_MLS打开时,系统提供MLS策略支持。 Flask体系结构为安全标记定义了两个独立于策略的数据类型:安全上下文(context)和安全标识符(SID)。安全上下文是由可变长字符串表示的安全标记,存在于文件的扩展属性中。 SID是被安全服务器映射到对应安全上下文的整数。Flask 客体管理器负责将安全标签绑定到客体上、绑定SID到内核对象上。 一个安全上下文(或称为标签)由用户ID、角色、类型和可选的MLS分级属性或分类属性组成。角色仅与进程相关,因而文件安全上下文有一个通用的object_r的角色。安全服务器仅为安全上下文提供SID。 SELinux系统提供一个与安全服务器相配套的安全策略配置语言,该语言用于对安全服务器中安全策略的配置进行描述。策略配置语言描述的规则策略存于策略文件中,策略文件源代码由工具编译成二进制策略文件,安全服务器在引导时读取二进制形式策略文件,形成策略库。 3.MLS分级机制 MLS(Multi-Level Security)机制给用户提供了可以用不同等级的安全水平来访问系统。例如:MLS安全分级从低到高为Confidential、Secret、Top Secret和Individuals,不同级别可查看不同的分类信息。低级别不可查看高级别的文档。 SELinux支持分级保护数据,它使用BLP(Bell-LaPadula Model:BLP)模型,这个模型定义了系统内的信息是如何基于粘附在每个主体和客体的标签来进行流动的。如:在Secret级别的用户可与其他同级别用户共享数据,并能提取来自Confidential级(比Secret级低)的信息。但在Secret级别的进程不能查看Top Secret级别(比Secret级高)的数据。它还阻止高级别进程随便给低级别的数据写入信息。即“不能读较高级别的数据,不能写较低级别的数据”模型。 在多级别系统中,高级别用户不自动获得管理者权限,但它们对计算机上的所有信息可以有访问权。 安全上下文中,主体和客体用安全级别(Security Levels,SL)标识,SL由敏感属性和分类属性组成。Sensitivity(敏感属性)是安全体系的属性,它将数据等分成不同安全级别,如:“Secret”或“Top Secret”。Categories(分类属性)是一套非体系的属性,如:“US Only”或“UFO”,表示仅US使用。分类属性将数据分隔成几个独立的小组,每个小组可归属于不同的用户等。 一个SL必须有一个敏感属性和0个或多个分类属性。例如:SL是{ Secret / UFO, Crypto }、{ Top Secret / UFO, Crypto, Stargate } 或{ Unclassified }。体系的敏感属性跟踪着0个或多个分类属性,因为敏感属性还可以分隔成彼此独立的分类属性。 客体上的安全级别称为分级(Classifications),主体上的安全级别称为Clearances。 3.1.3  安全模块(LSM)框架 为了加入安全机制,Linux内核从以下五个方面进行了修改: 1.在内核的构件描述数据结构中加入了安全域。 2.在内核不同的构件中加入了对安全钩子函数的调用。 3.提供了通用安全模块。 4.将capabilities逻辑的大部分移植为一个可选的安全模块。 5.加入了安全系统调用。 安全域是一个void*类型的指针,它指向安全模块操作函数,从而将安全信息和内核对象联系起来。下面列出加入了安全域的内核数据结构: task_struct  进程结构 linux_binprm  二进制程序运行结构 super_block  文件系统超级块结构 inode    文件系统节点结构,表示文件、目录、管道、设备文件或socket套接字 file  打开的文件结构 sk_buff  网络包缓冲区结构 net_device  网络设备结构 kern_ipc_perm    IPC(进程间通信)权限结构 msg_msg:消息结构 Linux安全模块(LSM)提供了各种安全钩子(hook)函数,都在全局类型security_operations结构中,这些函数管理内核对象的安全域,仲裁对这些内核对象的访问。Linux安全模块提供了一个通用的安全系统调用,允许安全模块为安全相关的应用编写新的系统调用。 在内核引导的过程中,Linux初始化了一系列的虚拟钩子函数,当加载一个安全模块时,使用register_security()函数注册安全模块:这个函数将设置全局表security_ops,使其指向安全模块的钩子函数指针,从而内核可向这个安全模块询问访问控制决策。 Linux安全模块将capabilities能力机制移植到安全模块中,保留了对原有使用capabilities的应用程序的支持。 Linux安全模块的钩子函数包括任务钩子、程序装载钩子、进程间通信IPC钩子、文件系统钩子、网络钩子及模块钩子和顶层的系统钩子。 3.1.4  内核SELinux的组织结构 SELinux模块由安全服务器、AVC(Access Vector Cache)、网络接口表、netlink事件通知代码、selinuxfs伪文件系统和hook函数应用六个部分组成。安全服务器为获得安全策略决定提供通用接口,使模块的其余部分保持独立的安全策略。这些接口定义在include/security.h中,安全服务器的特定应用能在不改变模块其他部分的情况下被改变。 安全服务器的应用有RBAC(基于角色的访问控制Role-Based Access Control)、TE(类型加强Type Enforcement)的生成和可选的MLS(多级安全Multi-Level Security)。其中,RBAC和TE策略是高度可配置的,能用于许多不同的安全对象。安全服务器的源代码在security/selinux/ss目录下载。 AVC提供了从安全服务器获得的访问策略的缓冲区(cache),提高了安全机制的运行性能。它提供了hook函数高效检查授权的接口,提供了安全服务器管理cache的接口。与hook函数的接口定义在include/avc.h中,与服务器的接口定义在include/avc_ss.h中,AVC代码在avc.c中。 网络接口表将网络设备映射到安全上下文中。维护一个独立的表是必要的,因为LSM网络设备没有安全成员。当网络设备被hook函数第一次查找到时该网络设备就被加入到这个表中,当设备被设置取消或策略重载时移出这个表。网络接口表提供了查找hook函数以及获得网络设备条目引用或释放引用的接口函数。该接口定义在include/netif.h中,回调函数在设备配置变化或策略重载时注册。网络接口表的代码在netif.c中。 netlink事件通知让SELinux模块在策略重载以及强制状态改变时通知进程。这些通知被用户空间的AVC(libselinux的一部分)用来保持与内核一致的状态。用户空间AVC被用户空间策略强制器(enforces)使用,代码在netlink.c中。 Selinux伪文件系统给进程提供安全服务器的策略API。selinux提供基于策略API的调用,它包括进程属性、文件属性和策略API三个部分,并被高层的libselinux API封装起来,代码在selinuxfs.c中。 hook函数应用管理与内核对象相关的安全信息以及执行内核每个操作的访问控制。hook函数调用安全服务器和AVC得到安全策略并运用这些策略来标识和控制内核对象。hook函数还调用文件系统扩展属性代码获得和设备文件上面的安全上下文。hook函数在hooks.c中,与内核对象相关的安全信息的数据结构定义在include/objsec.h中。SELinux安全模块及接口如图3-2所示。   图3-2  SELinux安全模块及接口 linux内核对于程序的运行、文件系统的超级块和节点以及文件操作、任务操作、网络连接、socket、System V进程间通信等提供了对应安全操作函数,这些函数指针都放在安全操作函数结构中,由于结构很大,这里只列出了程序运行的操作函数指针,这些操作函数指针的前缀bprm是bin program的缩写,其他的操作函数具有类似结构。 security_operations安全操作函数结构在include/linux/security.h中,分析如下: struct security_operations {      int (*ptrace) (struct task_struct * parent, struct task_struct * child);      int (*capget) (struct task_struct * target,                     kernel_cap_t * effective,                      kernel_cap_t * inheritable, kernel_cap_t * permitted);      int (*capset_check) (struct task_struct * target,                         kernel_cap_t * effective,                         kernel_cap_t * inheritable,                         kernel_cap_t * permitted);      void (*capset_set) (struct task_struct * target,                        kernel_cap_t * effective,                        kernel_cap_t * inheritable,                        kernel_cap_t * permitted);      int (*acct) (struct file * file);      int (*sysctl) (ctl_table * table, int op);      int (*capable) (struct task_struct * tsk, int cap);      int (*quotactl) (int cmds, int type, int id, struct super_block * sb);      int (*quota_on) (struct file * f);      int (*syslog) (int type);      int (*vm_enough_memory) (long pages);      int (*bprm_alloc_security) (struct linux_binprm * bprm);      void (*bprm_free_security) (struct linux_binprm * bprm);      void (*bprm_apply_creds) (struct linux_binprm * bprm, int unsafe);      int (*bprm_set_security) (struct linux_binprm * bprm);      int (*bprm_check_security) (struct linux_binprm * bprm);      int (*bprm_secureexec) (struct linux_binprm * bprm);             …… } security_operations的结构很大,这里只列出了很少的一部分,下面就一些成员函数说明如下: bprm_alloc_security:分配或附加上一个security结构到bprm->security成员上,操作成功时返回0。 bprm_free_security:释放或删除bprm->security field成员上的security结构。 bprm_apply_creds:计算或设置进程的安全属性,这个进程是由execve操作生成的,这个操作是基于旧属性(当前进程的安全属性current->security)和被set_security 函数设置存在bprm->security 里的信息。由于set_security 函数是void类型,这个函数不能返回错误,如果属性设置失败,则安全属性值不会被改变。 bprm_apply_creds:函数在任务锁住的情况下被调用,参数unsafe表示可能不安全地转换安全状态的各种原因。 bprm_set_security:将安全信息存放到bprm->security 成员中。 bprm_check_security:检查set_security 调用时设置的值是否设置到bprm->security中,返回0表示已授予设置的权限。 bprm_secureexec:返回值是1或0,表示是否是安全运行,这个标识传进ELF解释器的初始堆栈上的补充表里,用来表示libc是否能使用安全模式。 3.2  SELinux策略配置语言 策略是一套指导SELinux安全引擎计算安全决策的规则,它定义了文件客体的类型、进程的域、使用限制进入域的角色及访问许可的规则表达式等。策略的源代码用SELinux配置语言进行描述。 3.2.1  基本概念 1.主体和客体 主体(subject)和客体(object)是指系统中的元素,主体是访问客体的进程,客体是系统中的一类实体,在系统中定义好了30种不同的客体类别(class),每个class有定义好的许可。 在/etc/security/selinux/src/policy/flask/security_classes中有class的定义,SELinux定义了30个class,列出如下:   security process system capability filesystem     file dir fd lnk_file chr_file blk_file sock_file     fifo_file socket tcp_socke tudp_socket msgq semmsg     shm ipcnode netif netlink_socket packet_socket     key_socket rawip_socket unix_stream_socket     unix_dgram_socket passwd 每个class都定义了操作许可,如:客体file有19个操作许可,列出如下:   ioctl read write create getattr setattr lock relabelfrom     relabelto  append unlink link  rename execute swapon      quotaon mounton execute_no_trans entrypoint 2.安全上下文与安全标识符 SELinux给每个主体和客体定义了一个安全上下文(security context)。安全上下文是对主体或客体安全的描述,其格式为:user:role:type,如:root:sysadm_r:sysadm_t,其中root为用户ID(user),sysadm_r为角色ID(role),sysadm_t为类型(type)ID。安全上下文代表了SELinux的访问控制属性。安全标识符(security identifier,简称SID)是内核中激活的安全上下文的序号。 一般情况下,多个属性的组合形成类型,多个类型的组合形成角色,多个角色的组合形成用户。有的属性也可能覆盖多个类型的范围,在安全上下文中最重要的是类型。 在文件系统中的每个文件或目录、网络的端口等都指定了一个安全上下文,安全策略则给出了各个安全上下文之间作用的规则。 例如:在policy/file_contexts/program/chroot.fc中,文件chroot的安全上下文被定义如下: /usr/sbin/chroot       system_u:object_r:chroot_exec_t 3.类型和类型属性 一个进程的类型(type)又称为域dormain,客体的角色常称为object_r。类型在策略管理中是用得最多的部分,特别是在类型增强(TE)中。用户、角色、域类型和客体类型的关系图如图3-3所示,每个用户有相配的角色,角色有与用户组相关的域类型,而域类型又指定了对客体类型的访问控制权限。   图3-3  用户、角色、域类型和客体类型的关系图 类型的属性(Type Attributes)是与一组类型相关的概念。它在TE规则里可代替类型,类型、别名、类型的属性共享同一个名字空间。类型属性定义的语法如下: type type_name[aliasalias_name(s)] [,attrib1, …, attribn]; 例如:type  passwd_exec_t, file_type, sysadmfile, exec_type; 其含义是:将属性file_type、sysadmfile和exec_type定义给类型passwd_exec_t。 4.TE模型和RBAC模型 TE模型给进程和客体提供了良好的颗粒控制。RBAC提供了高层次的简化用户管理。SELinux安全模型是TE模型和RBAC模型的联合体。 TE模型是支持程序运行和域转移的强大类型控制,主体为运行的进程,进程为域类型。TE访问矩阵定义了域可以访问什么类型的客体,还定义了域类型转移。SELinux类型转移或访问控制基于一对安全上下文和类型的class。 RBAC是基于角色的访问控制(Role-based Access Control)模型,传统的RBAC模型是对角色进行授权,然后将一个或多个角色分配给一个授权用户。SELinux的RBAC模型是:给一个域类型指定授权,然后将域类型指定给角色,将一个或多个角色指定给一个授权用户。 例如:root:sysadm_r:sysadm_t中的sysadm_r就是角色。在每个安全上下文中有一个角色ID,对主体来说,它代表了主体当前的角色,对客体来说,角色典型值为object_r,角色对客体来说没意义。 3.2.2  TE规则的描述 主体对客体的访问在规则中需要有四个要素,分别说明如下: 源类型(source type):它是主体或者域(一个进程)的类型。 目标类型(target type):它是客体的类型。 对象类别(class):它是访问申请的某一类别资源,如:file。 许可(permission):表示主体对客体访问时允许的操作类型。如:read。 TE规则是策略中的主要部分,它包括 1.属性的定义 属性(Attribute)是具有相似特征的安全类型的组,它是一项工作(如:privmodule)的域类型或者系统中一类客体的所有类型(如:proc_fs),属性是从使用者角度考虑的一项特性。 属性名可在策略配置中一直使用,属性名与类型在同一个名字空间中存在。但一个属性名不能放在安全上下文的类型的位置上。属性对可选的MLS策略来说很重要,它的定义样例如下: attribute domain;               #这个属性代表了能指定给进程的每种类型 attribute privuser;         #代表能改变它的selinux用户ID attribute privrole;       #代表能改变它的selinux角色ID attribute privmodule;   #代表能运行modprobe attribute privmem;         #代表能访问内核内存设备 attribute proc_fs;      #能指定给/proc下文件的所有类型 下面说明一些非常有用的属性: 1)httpdcontent 属性httpdcontent将与Apache HTTP的策略相关的各种类型组合在一起。它帮助Apache HTTP的PHP脚本等使用httpd的带有content字符的类型。httpdcontent定义如下: # This is an aliasing relationship httpd_sys_content_t: httpd_sysadm_content_t, \   httpd_user_content_t # These types handle different permissions sets for scripts httpd_sys_script_ro_t httpd_sys_script_rw_t httpd_sys_script_ra_t httpd_sys_content_t是httpd_sysadm_content_t和httpd_user_content_t类型的别名。 2)file_type 属性file_type用于指定给文件的所有类型,当域访问所有的文件类型时,使用它是方便的。属性file_type包括超过170种类型,其部分类型列出如下: ... device_t xconsole_device_t file_t default_t root_t mnt_t home_root_t ... 3)属性netif_type, port_type和node_type 这些属性与域的网络活动有关。netif_type表示与网络接口相关的类型,允许策略控制在一个接口的发送、接收和其他操作。它包括下面这些类型: netif_t netif_eth0_t netif_eth1_t netif_eth2_t netif_lo_t netif_ippp0_t netif_ipsec0_t netif_ipsec1_t netif_ipsec2_t port_type与指定给端口号的所有类型相关,它允许SELinux控制端口绑定,它包括下面类型: dns_port_t dhcpd_port_t http_cache_port_t port_t reserved_port_t http_port_t pxe_port_t smtp_port_t mysqld_port_t rndc_port_t ntp_port_t portmap_port_t postgresql_port_t snmp_port_t syslogd_port_t node_type是指定给网络节点或主机的类型,允许SELinux控制来往于这个节点的交通。它包括下面的类型: node_t node_lo_t node_internal_t node_inaddr_any_t node_unspec_t node_link_local_t node_site_local_t node_multicast_t node_mapped_ipv4_t node_compat_ipv4_t 4)fs_type 属性fs_type标识指定给文件系统的所有类型,它允许大多数域获得全部文件系统的统计信息,一些特殊的域可以挂接任何文件系统。下面是它的部分文件类型: devpts_t: sysadm_devpts_t, staff_devpts_t, user_devpts_t fs_t eventpollfs_t futexfs_t bdev_t usbfs_t nfsd_fs_t rpc_pipefs_t binfmt_misc_fs_t tmpfs_t autofs_t usbdevfs_t sysfs_t iso9660_t romfs_t ramfs_t dosfs_t cifs_t: sambafs_t nfs_t proc_t security_t 5)exec_type 属性exec_type是指定给可执行条目的所有类型的集合。这个属性中的域列出如下: ls_exec_t shell_exec_t httpd_exec_t httpd_suexec_exec_t httpd_php_exec_t httpd_helper_exec_t dhcpd_exec_t hotplug_exec_t initrc_exec_t run_init_exec_t init_exec_t ldconfig_exec_t mailman_queue_exec_t mailman_mail_exec_t mailman_cgi_exec_t depmod_exec_t insmod_exec_t update_modules_exec_t sendmail_exec_t mysqld_exec_t named_exec_t ndc_exec_t nscd_exec_t ntpd_exec_t ntpdate_exec_t portmap_exec_t postgresql_exec_t rpm_exec_t snmpd_exec_t squid_exec_t syslogd_exec_t udev_exec_t udev_helper_exec_t winbind_exec_t ypbind_exec_t 6)domain 属性domain用于进程的所有类型,用来识别SELinux的域,在其他类型的强制系统中,域可能与类型分开使用,在SELinux中,域是具有domain属性的基本类型。这个属性允许规则应用到所有的域。如:init发送信号到所有的进程。 domain属性覆盖下面的属性: unconfined_t: kernel_t, init_t, initrc_t, sysadm_t, rpm_t, \                   rpm_script_t, logrotate_t mount_t httpd_t httpd_sys_script_t httpd_suexec_t httpd_php_t httpd_helper_t dhcpd_t ldconfig_t mailman_queue_t mailman_mail_t mailman_cgi_t system_mail_t mysqld_t named_t ndc_t nscd_t ntpd_t portmap_t postgresql_t snmpd_t squid_t syslogd_t winbind_t ypbind_t 7)reserved_port_type 属性reserved_port_type 标识任何一个保留网络商品的所有
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服