Linux自学笔记——Selinux简介

SElinux是美国国家安全局(NSA)对于强制访问控制的实现,是linux历史上最杰出的新安全子系统。NSA是在Linux社区的帮助下开发的一种访问控制体系,在这种访问控制体系的限制下,进程只能访问那些在它的任务中所需要的文件。SElinux默认安装在Fedora和RedHat Enterprise Linux上,也可以作为其他发行版上容易安装的包得到。

DAC,自主访问控制,任何程序对其资源享有完全的控制权,每个用户或进程可以随意修改自己的文件的权限,将其他权限授予给其他人而具有任意的访问权限、所有/组+权限标记通常称为自主访问控制。

MAC,强制访问控制,一个进程能否访问某个资源,取决于运行这个进程的用户权限已经访问的资源的属主属组等属性。

Selinux有两种工作级别:

Strict:每个进程都受到selinux的控制;

Targeted:仅有限个进程收到selinux控制,只监控容易被入侵的进程;

Sandbox:subject operationobject

Subject:(主)process…:进程

Object:(宾)directory…:进程,文件,

文件:open,read,write,close,chown,chmod

Subject:domain

Object:type

Selinux为每个文件提供了安全标签,也为进程提供了安全标签;

user:role:type

user:selinux的user

role:角色

type:类型

通过ls –Z可以查看文件的标签:

同样可以查看进程的selinux属性:

selinux规则库:

规则:哪种域能访问哪种或哪些种类型的文件;

配置selinux:

Selinux是否启用;

给文件重新打标;

设定某些布型特性;

Selinux的状态:

enforcing:强制,每个受限的进程都必然受限;

permissive:启用,每个受限的进程违规操作不会被禁止,而被记录在审计日志中;

disabled:关闭;

相关命令:

getenforece:获取selinux的当前状态;

setenforce   0|1

0:设置为permissive

1:设置为enforcing

此设定重启系统无效,并且在selinux不处于disabled状态才能设定;

配置文件:/etc/sysconfig/selinux,/etc/selinux/config

SELINUX=[disabled][enforcing][permissive]

给文件重新打标:

chcon命令:

chcon - change file SELinux securitycontext

chcon [OPTION]... CONTEXTFILE...

chcon[OPTION]... [-u USER] [-r ROLE] [-t TYPE] FILE...

chcon[OPTION]... --reference=RFILE FILE...

-R:递归打标;

--reference=FILE:以FILE的标签为参照类型

-t TYPE:修改指定类型

-u:修改指定user

-r:修改指定role

恢复默认标

restorecon[-R] /path/to/somewhere

布尔型规则:

getsebool命令:

getsebool [-a] [boolean]

setsebool;

setsebool [ -PV] boolean value |bool1=val1 bool2=val2 ...

时间: 2024-10-14 02:50:15

Linux自学笔记——Selinux简介的相关文章

Linux自学笔记——keepalived

本文部分参考博客:http://blog.51cto.com/1992tao/1869869 一.        VRRP协议 1.      技术优点: VRRP是一种容错协议,它保证当主机的下一跳路由器出现故障时,由另一台路由器来代替出现故障的路由器进行工作,从而保持网络通信的连续性和可靠性. VRRP具有如下优点: 1)      简化网络管理.在具有多播或广播能力的局域网(如以太网)中,借助VRRP能在某台设备出现故障时仍然提供高可靠的缺省链路,有效避免单一链路发生故障后网络中断的问题,

Linux自学笔记——Centos启动流程

Centos启动流程大概为:POST --> Boot Sequence(BIOS)--> Boot Loader (MBR) --> Kernel(ramdisk) --> rootfs (readonly)-->switchroot --> /sbin/init -->(/etc/inittab, /etc/init/*.conf) --> 设定默认运行级别 --> 系统初始化脚本 --> 关闭或启动对应级别下的服务 --> 启动终端.

Linux自学笔记——linux文件系统

Linux的文件系统 根文件系统(rootfs),内核挂载的第一个文件系统,在启动流程的这一篇文章里有提到: LSB,FHS(Filesystem  Herirache Standard) 常用的文件系统目录:/etc,/usr,/var,/root/,/home,/dev 目录介绍:(以下截图很多是目录内容的部分截图) /boot:引导文件存放目录,内核文件(vmlinuxz).引导加载器(bootloader,grub)都存放于此目录: /bin:供所有用户使用的基本命令:不能关联至独立分区

Linux自学笔记——grub应用

GRUB(Boot Loader) GRUB,GRand Unified Bootlader ,是一个来自GUN项目的多操作系统启动程序.GRUB是多启动规范的实现,它允许用户可以在计算机内同时拥有多个操作系统,并在计算机启动时选择希望运行的操作系统.GRUB可用于选择操作系统分区上的不同内核,也可用于向这些内核传递启动参数. grub版本: grub 0.x:grub(legacy) centos 5,6 grub 1.x:grub2              centos 7 grubleg

Linux自学笔记——Centos系统安装

安装程序:anaconda bootloaderàkernel(initrd(rootfs))àanaconda anaconda的两种方式: tui:基于cureses的文本配置窗口: gui:图形界面: centos的安装过程启动流程: 以光盘启动安装为例: MBR:boot.cat stage2:isolinux/isolinux.bin 配置文件:isolinux/isolinux.cfg 每个对应的菜单选项: 加载内核:isolinux/vmlinuz 向内核传递参数:append 

Linux 自学笔记(一)

    Linux系统简介 UNIX与Linux发展史: 1965年,由MIT,GE,AT&T贝尔实验室联合开发multics项目.后由于项目过于复杂,项目进度落后于计划,最终宣告失败. 1969年,贝尔实验室的工程师肯.汤姆森在DEC的机器上开发出了UNIX系统. 1971年,丹尼斯.里奇发明了C语言,并在1973年,用C语言把UNIX系统进行了重新编写,这为UNIX系统的可移植打下了基础. TCP/IP协议的开发,并捆绑在UNIX上,使得UNIX的发展和推广启到很大的作用. UNIX的主要发

Linux自学笔记——dhcp,tftp,pxe

DHCP:Dynamic Host Configuration Protocol IP/Nermask Gateway DNS Server bootp:boot protocol --> dhcp 1.      Client:dhcp discover:发现 2.      Server:dhcp offer:(IP/netmask,gw) 3.      Client:dhcp request 4.      Server:dhcp ack 续租: Client:dhcp request

Linux自学笔记(6):Linux文件系统及文件类型

Linux的文件系统:跟文件系统(rootfs)root filesystem LSB,FHS:linux发行标准1 bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var /boot:引导文件存放目录,内核文件(vmlinuz).引导加载器(bootloader,grub)/bin:供所有用户使用的基本命令:不能关联独立分区,OS启动即会用到的程序:/sbin:管理类的基本命令:不

Linux自学笔记--基础命令date,cal等

逆水行舟,不进则退: date命令: 我们可以来man一下date命令,可以在上面看出 date的含义为 - print or set the system date and time,我们从以下几方面对date命令进行阐述. 1.   显示时间 date[OPTION]... [+FORMAT] format:格式符号 %D: %F: %T: 在屏幕中输入单独的date命令可以显示系统的时间: 同时我们也可以显示自己想要的时间显示格式: 2.   设置时间 date[-u|--utc|--un