1. 程式人生 > >selinux詳解及配置文件

selinux詳解及配置文件

nfs 禁用selinux 提示 ORC 我們 針對 可能 linux目錄 warn

selinux詳解

selinux 的全稱是Security Enhance Linux,就是安全加強的Linux。在Selinux之前root賬號能夠任意的訪問所有文檔和服務 ;

如果某個文件設為777,那麽任何用戶都可以訪問甚至刪除。 這種方式稱為DAC(主動訪問機制),很不安全。

DAC自主訪問控制: 用戶根據自己的文件權限來決定對文件的操作,也就是依據文件的own,group,other/r,w,x 權限進行限制。Root有最高權限無法限制。r,w,x權限劃分太粗糙。無法針對不同的進程實現限制。

Selinux則是基於MAC(強制訪問機制),簡單的說,就是程序和訪問對象上都有一個安全標簽(即selinux上下文)進行區分,只有對應的標簽才能允許訪問,否則即使權限是777,也是不能訪問的。

在selinux中,訪問控制屬性叫做安全上下文,所有客體(文件、進程間通訊通道、套接字、網絡主機等)和主體(進程)都有與其關聯的安全上下文,一個安全上下文由三部分組成:用戶(u)、角色(r)、和類型(t)標識符。但我們最關註的是第三部分

當程序訪問資源時 ,主體程序必須要通過selinux策略內的規則放行後,就可以與目標資源進行安全上下文的比對,若比對失敗則無法存取目標,若比對成功則可以開始存取目標,最終能否存取目標還要與文件系統的rwx權限的設定有關,所以啟用了selinux後出現權限不符的情況時,你就得一步一步分析可能出現的問題了。

1.selinux狀態查看與配置:

selinux的配置文件位置:/etc/selinux/config,它還有個鏈接在/etc/sysconfig/selinux.

使用config文件來配置selinux(通過配置文件修改selinux的狀態屬於永久修改,要重啟系統才生效)

[root@localhost ~]# ls /etc/sysconfig/selinux  -l
lrwxrwxrwx. 1 root root 17 Jan 10 19:48 /etc/sysconfig/selinux -> ../selinux/config

(1)配置文件

[root@make_blog ~]# cat /etc/sysconfig/selinux

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of three two values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected. 
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted

selinux=enforcing

#此項定義selinux狀態

#enforcing-是強制模式系統,它受selinux保護。就是違反了策略你就無法繼續操作下去。

#permissive-是提示模式系統不會受到selinux保護,只是收到警告信息。permissive就是selinux有效,但是即使你違反了策略的話它讓你繼續操作,但是把你違反的內容記錄下來(警告信息)

#disabled-禁用selinux

selinuxtype=targeted

#此項定義selinux使用哪個策略模塊保護系統。targeted只對Apache,sendmail,bind,postgresql,nfs,cifs等網絡服務保護。

以上策略配置都放置在/etc/selinux目錄中,目錄和策略名稱相同。

使用selinux相關命令查看和修改狀態:(屬於立即生效但臨時性的)

(2)查看工作狀態

getenforce查看selinux狀態

[root@make_blog ~]# getenforce 
Disabled

setenforce設定selinux運行狀態,1開啟(Enforce),0關閉(Permissive)

[root@localhost datas]# setenforce 
usage:  setenforce [ Enforcing | Permissive | 1 | 0 ]

[root@localhost ~]# setenforce  0
[root@localhost ~]# getenforce 
Permissive
[root@localhost ~]# setenforce 1
[root@localhost ~]# getenforce 
Enforcing

相關鏈接:https://blog.csdn.net/kangshuo2471781030/article/details/79294506

selinux詳解及配置文件