linux下的selinux详解
一、selinux的功能
selinux是内核级的加强型火墙。
1。当selinux开启后,会给系统中的每一个文件以及每一个程序加载安全上下文,具有特定安全上下文的程序只能访问特定安全上下文的文件。
2 当selinux开启会对服务本身相对不安全的功能加载开关sebool并且设定开关为关闭状态以保证服务安全性
当需要此功能时需要超级用户手动调节
二.selinux状态
1
#getenforce 查看系统当前selinux的状态
**selinux有三种状态:**
disabled 关闭状态
enforcing 强制状态
permissive 警告状态
2设置selinux的临时状态
#setenforce 设置selinux的临时状态
setenforce 0 警告状态
setenforce 1 强制状态
3永久改变(etc/sysconfig/selinux)
#vim /etc/sysconfig/selinux
SELINUX=[selinux的状态]
#reboot #当Disabled <----> [enforcing|permissive] 都需要重启系统
三、安全上下文
1、临时更改安全上下文
chcon -t 安全上下文 文件 chcon -R -t 安全上下文 目录
chcon -t public_content_t /var/ftp/westoslinuxfile
2、永久更改文件或目录的安全上下文
#semanager fcontent -l | grep /ftpuserdir ##内核安全上下文列表中无信息
#semanager fcontent -a -t public_content_t /ftpuserdir'(/.*)?' ##(/.*)? 表示目录中将要出的内容。此命令只添加列表信息,当前不生效
#restorecon -RvvF /ftpuserdir/ ##刷新文件安全上下文
3.查看安全上下文
#ls -Z /var/ftp查看文件安全上下文
#ps axZ | grep vsftpd查询进程的安全上下文
四、SEBOOL
sebool是selinux对服务功能添加的开关
getsebool -a | grep ftp ##查看ftp的功能开关
setsebool -P ftpd_anon_write=1|on ##表示开启此匿名用户写的功能
五、selinux的排错
排错用到的命令为sealert -a /var/log/audit/audit.log