chcon 更改安全上下文 臨時更改,永久更改

2021-08-20 01:49:57 字數 3845 閱讀 7038

1.如何更改安全上下文

安全上下文:

(一)型別強制策略的安全上下文

所有的作業系統訪問控制都是基於與主體和客體相關的訪問控制屬性的。在selinux中,訪問控制屬性乘》坐安全上下文,所有的客體(檔案,程序間通訊,通訊管道,套接字,網路主機等)和主體(程序)有一

個和他們相關的但一安全上下文。乙個安全上下文有三個元素:使用者,角色,型別標示符。指定和顯示一

個安全上下文常用的格式如下:

使用者(user):角色(role):型別標示符(type)

每乙個元素的字串標示符被定義在selinux的策略語言中,,僅僅理解乙個有效的安全上下文一定要有》

乙個有效的使用者,角色,型別標示符每個標示符的命名空間都是正交的。安全上下文是乙個簡單的,一致

的訪問控制屬性。在selinux中,型別標示符是安全上下中決定訪問的主要部分。由於歷史原因,程序的》型別經常被稱作域(domain)

(二)檢查安全上下文

selinux通過新增-z選項修改了系統命令來展示客體和主題的安全上下文。

ls -z 顯示了檔案系統物件的安全上下文

ps -z 展示了程序的安全上下文

id 展示shell的安全上下文即您當前的使用者,角色和型別

1>臨時更改

chcon -t 安全上下文  檔案

chcon -t public_content_t /publicftp   -r   目錄

實驗1:

1.rm -fr /var/ftp/*

2.touch /mnt/westos

3.mv /mnt/westos /var/ftp/

移動是個重新命名的過程,檔案的屬性,許可權不會被修改,複製是新建的過程,檔案的屬性,許可權會被覆蓋

6.systemctl stop firewall #關閉防火牆

7.firewall-cmd --list-all #列出防火牆的所有狀態

9.cd /var/ftp/

10.ls

11.touch file1 #在/var/ftp/建立檔案其型別為public_content_t

15.semanage fcontext -l | grep /var/ftp  #檢視/var/ftp的上下文,包括目錄本身

16.semanage fcontext -l | grep /var/ftp/  #只有目錄下的檔案和目錄的安全上下文

17.chcon -t public_content_t westos  #修改/var/ftp/的安全上下文型別

18.semanage fcontext -l | grep /var/ftp/ #檢視/var/ftp/的安全上下文列表

19.ls -z #檢視/var/ftp的屬性及安全上下文型別

2>永久更改上下檔案: 

semansge fcontext -l #列出核心安全上下文列表內容

semanage fcontext -a -t pubic_content_t '/publicftp(/.*)?'#新增目錄到核心安全上下文列表中,型別為public_content_t

實驗二:

1  mkdir /westos #讓/westos/目錄下的上下文永久生效

2 touch /westos/westosfile

3 vim /etc/vsftpd/vsftpd.conf #更改匿名使用者家目錄

4 anon_root=/westos

5 systemctl restart vsftpd.service #重啟vsftpd.service

6 lftp 172.25.254.132 #登陸檢視,不能被看到

7 ls

8  chcon -t public_content_t /westos -r #更改/westos本身,以及目錄下的檔案的上下文

9 ls -zd /westos #檢視檔案上下文

10 lftp 172.25.254.132 #登陸檢視,可以被看到

12 vim /etc/sysconfig/selinux #重啟selinux兩次,分別讓disabled,enforcing生效

selinux=disabled

reboot

vim /etc/sysconfig/selinux

selinux=enforcing

reboot

13 systemctl start vsftpd.service

14 systemctl enable vsftpd.service

15 systemctl stop firewall

16 systemctl disable firewall

17 firewall-cmd --reload

18 ls -zd /westos #檢視/westos的上下文更改是否還生效,結果表示該更改是臨時的

19 lftp 172.25.254.132

20 ls #看不見/westos下的檔案

對比/var/ftp/和/westos在永久上下文列表:

21 semanage fcontext -l | grep /var/ftp #檢視/var/ftp的上下文是否在永久上下文中

22 semanage fcontext -l | grep /westos #檢視/westos的上下文是否在永久上下文中

23 semanage fcontext -a -t public_content_t '/westos(/.*)?' #-a 表新增;-t 型別,將/westos本身以及目》錄中的所有的檔案目錄的上下文型別新增到永久上下文中

24 semanage fcontext -l | grep /westos #檢視是否新增成功

26 lftp 172.25.254.132

27 ls

28 ls -zd /westos #永久生效

##touch .autorelobel 讓selinux 自動作初始化

linux的安全上下文

安全上下是乙個訪問控制屬性,是selinux中的重要組成部分,在進行移動時,不會改變檔案的屬性和許可權,而複製的過程會改變檔案的屬性,而安全上下文是乙個訪問的憑證,特定的檔案被特定的程式訪問,安全上下文會關閉系統認為不安全的功能,當安全上下文相匹配時才允許訪問。vim etc sysconfig s...

Linux之selinux安全上下文

檢視selinux安全上下文 ls z root localhost touch var ftp hellohello 新建檔案測試 root localhost ls var ftp 檢視目錄ftp中的內容 hellohello pub root localhost touch mnt haha1...

SELinux安全策略 安全上下文值

在 etc httpd conf.d下建立乙個空白的呼叫配置檔案 conf 配置如下 servername www0.nb.com 此時重啟服務 systemctl restart httpd 無法通過www0.nb.com訪問 如果乙個服務無法訪問,首先需要從服務本身,防火牆,selinux這幾個...