亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Linux中SELinux、Shell簡介、touch命令的應(yīng)用小結(jié)

 更新時間:2023年02月03日 09:27:01   作者:Java?Fans  
SELinux(Security-Enhanced Linux)是美國國家安全局(NSA)對于強制訪問控制的實現(xiàn),是Linux歷史上最杰出的新安全子系統(tǒng),這篇文章主要介紹了Linux中SELinux、Shell簡介、touch命令的應(yīng)用知識總結(jié),需要的朋友可以參考下

?? SELinux

  SELinux(Security-Enhanced Linux)是美國國家安全局(NSA)對于強制訪問控制的實現(xiàn),是Linux歷史上最杰出的新安全子系統(tǒng)。NSA是在Linux社區(qū)的幫助下開發(fā)了一種訪問控制系統(tǒng)。在這種訪問控制體系的限制下,進程只能訪問那些在它的任務(wù)中所需要的文件。

  SELinux默認安裝在Fedora和Red Hat Enterprise Linux上,也可以作為其他發(fā)行版上容易安裝的包得到。

  • SELinux安全增強Linux是由NSA針對計算機基礎(chǔ)結(jié)構(gòu)安全開發(fā)的一個全新的Linux安全策略機制。SELinux允許管理員更加靈活地定義安全策略。
  • SELinux是一個內(nèi)核級的安全機制,從2.6內(nèi)核之后集成在內(nèi)核之中。
  • 主流的Linux都會集成SELinux,Red Hat默認開啟SELinux。
  • SELinux是內(nèi)核級的,所以對SELinux的設(shè)置需要重啟系統(tǒng)。

?? SELinux的規(guī)則與概念

  所有的安全機制都是對兩樣?xùn)|西做出限制:進程和系統(tǒng)資源(文件、網(wǎng)絡(luò)套接字、系統(tǒng)調(diào)用等),SELinux針對這兩種類型定義了兩個基本概念:域(Domain)和上下文(Contest)。

  • 域用來對進程進行限制
  • 上下文用來對系統(tǒng)資源進行限制。
  • DAC(自主存取控制) 依據(jù)程序運行時的身份決定權(quán)限,是大部分操作系統(tǒng)的權(quán)限存取控制方式,也就是依據(jù)文件的own、group、other/r、w、x權(quán)限進行限制。Root有最高權(quán)限無法限制;r、w、x權(quán)限劃分太粗糙,無法針對不同的進程實現(xiàn)限制。
  • MAC(強制存取控制) 依據(jù)條件決定是否有存取權(quán)限。可以規(guī)范個別細致的項目進行存取控制,提供完整的徹底化規(guī)范限制??梢詫ξ募⒛夸?、網(wǎng)絡(luò)、套接字等進行規(guī)范,所有動作必須先得到DAC授權(quán),然后得到MAC授權(quán)才可以存取。
  • TE (類型強制) 所有操作系統(tǒng)的訪問控制都是以關(guān)聯(lián)的客體和主體的某種類型的訪問控制屬性為基礎(chǔ)的。在SELinux中,訪問控制屬性稱為安全上下文。所有客體(文件、進程間通信通道、套接字、網(wǎng)絡(luò)主機等)和主體(進程)都有與其關(guān)聯(lián)的安全上下文,一個安全上下文由三部分組成:用戶、角色和類型標識符。

?? 查看SELinux

  使用 ps –Z 命令可以查看進程的域,使用ls –Z可以查看文件的上下文。

查看進程域中的SELinux。

  說明:黑線標注的部分就是SELinux,用三個冒號分隔開,形成了四個部分。

查看文件的上下文。

  說明:黑線標識的地方也是三個冒號分隔形成的四個部分
  system_u代表的是用戶。
  object_r代表的是角色。
  第三段是SELinux中最重要的信息,admin_home表示的是類型。
  最后一段s0是跟MLS、MCS相關(guān)的東西。

?? SELinux策略

  SELinux通過定義策略來控制哪些域能訪問哪些上下文;SELinux有很多預(yù)置策略,通常不需要自定義策略(除非要對自定義服務(wù)、程序進行保護);Red Hat Linux使用預(yù)置的目標策略。

  目標策略定義只有目標進程受到SELinux的限制,其他進程運行在非限制模式下,目標策略只影響網(wǎng)絡(luò)應(yīng)用程序。RHEL受限的網(wǎng)絡(luò)服務(wù)有200個左右,常見的有dhcpd、httpd、mysqld、named、ntpd(時間伺服服務(wù)器)、squid(代理服務(wù)器)、rpcbind、syslogd等。

?? SELinux模式

  SELinux有如下三種工作模式。

  • 強制模式(enforcing):只要是違反策略的行動都會被禁止,并作為內(nèi)核信息記錄。
  • 允許模式(permissive):違反策略的行為不會被禁止,但是會提示警告信息。
  • 禁用模式(disabled):禁用SELinux,與不帶SELinux系統(tǒng)是一樣的。

  通常情況下在不怎么了解SELinux時,將模式設(shè)置成disabled,這樣在訪問一些網(wǎng)絡(luò)應(yīng)用時就不會出問題。SELinux的主配置文件是 /etc/sysconfig/selinux,其默認設(shè)置值為 SELinux=enforcing。

  • 命令getenforce可以查看當(dāng)前系統(tǒng)SELinux的工作狀態(tài)。

getenforce

  • 命令setenforce可以設(shè)置當(dāng)前系統(tǒng)SELinux的工作狀態(tài)。

Setenforce

使用編輯器查看SELinux的主配置文件/etc/sysconfig/selinux得到如下結(jié)果

  說明:紅色方框標識的部分 SELinux=enforcing 代表目前系統(tǒng)執(zhí)行的是強制策略;SELinuxTYPE=targeted 代表當(dāng)前系統(tǒng)遵循的是目標策略。

?? SELinux設(shè)置

1、 獲取當(dāng)前SELinux運行狀態(tài)
  getenforce
  可能返回的結(jié)果有三種:Enforcing、Permissive和Disabled。Disabled代表SELinux被禁用,Permissive代表僅記錄安全警告但不阻止可疑行為, Enforcing代表記錄警告且阻止可疑行為

2、 改變SELinux運行狀態(tài)

?? Shell簡介

Shell:
  n.外殼; 炮彈; (貝、卵、堅果等的) 殼; (人的) 表面性格;
  vt.去殼,脫落; 炮擊;
  vi.剝皮; 炮轟;

  Shell在Linux中俗稱“殼”,Shell處于Linux Kernel的外圍,就像個“殼”一樣,如下圖所示:

  Linux Kernel承擔(dān)的任務(wù)是上層的服務(wù)、應(yīng)用以及硬件控制等,但Linux Kernel是無法直接去控制的,也即用戶是不允許直接與Linux Kernel進行通信的。這里就需要借助Shell這個“殼”。Shell所起到的是個中間媒介的作用,也就是將用戶的需求轉(zhuǎn)換成Linux Kernel能夠識別的指令。

  Shell本身只是一個感念,其中的實施是依靠圖形或者命令模式去實現(xiàn)。

  Shell是操作系統(tǒng)最外面的一層。Shell管理著用戶與操作系統(tǒng)之間的交互:等待輸入,向操作系統(tǒng)解釋用戶的輸入,并且處理各種各樣的操作系統(tǒng)的輸出結(jié)果。Shell提供了用戶與操作系統(tǒng)之間的通信方式,這種通信方式可以以交互方式(從鍵盤輸入,并且可以立即得到響應(yīng)),或者以Shell Script(非交互)方式執(zhí)行。Shell Script是放在文件中的一串Shell和操作命令,他們可以被重復(fù)使用。本質(zhì)上Shell Script是命令行,命令簡單地組合到一個文件里面。

  Shell基本上是一個命令解釋器,類似于DOS下的command。它接收用戶命令(如 ls 等),然后調(diào)用相應(yīng)的應(yīng)用程序。

?? Shell分類

  (1) 圖形界面Shell(Graphical User Interface Shell,GUI Shell),圖形界面的最終使用也是轉(zhuǎn)換成命令行模式去執(zhí)行的。例如GNOME、KDE等。

  (2) 命令行式Shell(Command Line Interface Shell,CLI Shell),z最常用的命令行是GNU Bourne-Again Shell,簡稱 BASH,也就是Linux中常用的命令行。

?? BASH基礎(chǔ)

  BASH是許多Linux平臺內(nèi)定的Shell,它能運行于大多數(shù)類UNIX操作系統(tǒng)之上,簡單的說,就是我們必須通過Shell將輸入的命令與內(nèi)核通信,可以讓內(nèi)核控制硬件準確無誤地工作來提高效率。

  BASH本身其實也是一個命令模式下的命令,其代表的就是打開命令模式終端的意思。

1、 提示符
  Linux操作系統(tǒng)下的BASH提示符分為#和$兩種。
  #:代表超級賬戶root,權(quán)限比較大
  $:代表普通賬戶,權(quán)限比較小

2、 結(jié)構(gòu)解讀

  root代表目前登錄的是root賬戶,zhangyan代表目前使用的這臺計算機的主機名稱,@代表使用root賬戶登錄到zhangyan這臺主機。

3、 BASH命令的組成
  BASH命令的一般結(jié)構(gòu):
$ command [ [-]option(s)] [option argument(s)] [command argument(s)]
  1、$:計算機提示符,代表的是使用普通賬戶登錄系統(tǒng)。
  2、command:對shell而言正確的Linux命令,BASH命令均為小寫。
  3、[-option(s)]:定制命令動作的一個或多個修飾符號,是BASH的命令選項。
  4、[option argument(s)]:定制命令選項的一個或多個修飾符號,是命令選項修飾。
  5、[command argument(s)]:受命令影響的一個或多個對象,命令對象。

  注意:以上各部分用空格分開。command、option、option argument和command argument,但在option或option argument之間是不需要空格的。多個option或option argument的順序是不要緊的,也就是和順序無關(guān)。在option和option argument間的空格是可選的。

  ls為command,-al為-option(s)。

?? touch命令的應(yīng)用

  touch的一般用法是用來創(chuàng)建一個新文件。同時,touch還可以用來修改文件的時間戳。

和時間戳有關(guān)的三個時間:
  訪問時間access time,簡稱為 atime:一個文件的數(shù)據(jù)最后一次被訪問的時間。例如,顯示一個文件的內(nèi)容或者運行一個shell腳本會更新文件的atime??梢杂?ls –lu 命令查看。

  更改時間status time,簡稱為 ctime;在UNIX中基本無法知道一個文件的精確創(chuàng)建時間。更改時間是指文件或目錄的屬性(所有者、權(quán)限等)被更改的時間。ctime在文件的內(nèi)容改變的時候也會改變。如果一個文件需要備份的話,dump命令需要用到ctime??梢杂?ls –lc 命令來查看ctime。

  修改時間modification time,簡稱為 mtime:文件的目前內(nèi)容最后被修改的時間。這是在一個長目錄列表中顯示的時間。

總結(jié):
  文件的atime是在讀取文件或者執(zhí)行文件時更改的;
  文件的mtime是在寫入文件時隨文件內(nèi)容的更改而更改的;
  文件的ctime是在寫入文件,更改所有者、權(quán)限或鏈接設(shè)置時隨inode的內(nèi)容更改而更改的。

  名稱:touch
  使用權(quán)限:所有使用者
  使用方式:touch [option] filename

參數(shù)說明
-a僅修改訪問時間。
-r修改文件的時間為指定文件的日期時間。
-d指定文件日期時間為yymmdd。
-t指定文件日期時間為yymmddhhmm。
-c:僅改變修改時間,如果文件不存在則創(chuàng)建。
-m僅修改mtime。

  說明:如果不加參數(shù)后面直接跟上filename,則判斷文件是否存在,如果存在則改變其時間,如果不存在則創(chuàng)建一個0字節(jié)的空文件。如果加上相應(yīng)參數(shù),則為按照參數(shù)的設(shè)置修改時間戳的作用。

到此這篇關(guān)于Linux中SELinux、Shell簡介、touch命令的應(yīng)用知識總結(jié)的文章就介紹到這了,更多相關(guān)linux  SELinux、Shell簡介 touch命令內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Shell腳本中引用、調(diào)用另一個腳本文件的2種方法

    Shell腳本中引用、調(diào)用另一個腳本文件的2種方法

    這篇文章主要介紹了Shell腳本中引用、調(diào)用另一個腳本文件的2種方法,本文介紹了兩種方法的語法,然后給出實際使用實例和一些要注意的地方,需要的朋友可以參考下
    2015-06-06
  • Shell交互批量更改主機名的方法

    Shell交互批量更改主機名的方法

    大家可能會遇到這種情況,需要批量修改主機名和同步hosts文件到多臺主機,例如新購置了一批云服務(wù)器等,可能主機名稱上并不能滿足你的命名規(guī)則或規(guī)范,但如果一臺臺去更改可能就太慢又無聊,所以shell腳本絕對是你的最佳選擇。下面看看Shell批量更改主機名的方法。
    2016-12-12
  • Linux Shell腳本系列教程(三):變量和環(huán)境變量

    Linux Shell腳本系列教程(三):變量和環(huán)境變量

    這篇文章主要介紹了Linux Shell腳本系列教程(三):變量和環(huán)境變量,本文講解了普通變量、獲取字符串的長度、環(huán)境變量等內(nèi)容,需要的朋友可以參考下
    2015-06-06
  • linux中&和&&,|和||及分號(;)的用法

    linux中&和&&,|和||及分號(;)的用法

    本文主要介紹了linux中&和&&,|和||及分號(;)的用法,我們經(jīng)常會用到,但是很多人會混淆,下面就來介紹一下具體用法,鞏固的大家的記憶,感興趣的可以了解一下
    2023-06-06
  • Linux命令之lz4命令使用示例

    Linux命令之lz4命令使用示例

    lz4是一種非??焖俚臒o損壓縮算法,基于字節(jié)對齊LZ77系列壓縮方案,它的特點是極快的解碼器,每核速度可達多GB/s,通常在多核系統(tǒng)上達到RAM速度限制項目,這篇文章主要介紹了Linux命令之lz4命令,需要的朋友可以參考下
    2023-03-03
  • Shell中調(diào)用、引用、包含另一個腳本文件的三種方法

    Shell中調(diào)用、引用、包含另一個腳本文件的三種方法

    這篇文章主要介紹了Shell中調(diào)用、引用、包含另一個腳本文件的三種方法,需要的朋友可以參考下
    2014-04-04
  • 淺析Linux常用文件管理命令

    淺析Linux常用文件管理命令

    這篇文章主要介紹了Linux常用文件管理命令,非常不錯,具有一定的參考借鑒價值 ,需要的朋友可以參考下
    2019-04-04
  • shell性能測試腳本優(yōu)化的技巧

    shell性能測試腳本優(yōu)化的技巧

    這篇文章主要介紹了shell性能測試腳本優(yōu)化技巧,本文通過實例截圖的形式給大家展示,代碼簡單易懂,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-02-02
  • Shell退出狀態(tài)碼及其應(yīng)用詳解

    Shell退出狀態(tài)碼及其應(yīng)用詳解

    這篇文章主要介紹了Shell退出狀態(tài)碼及其應(yīng)用,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-12-12
  • Linux 中的nc命令小結(jié)

    Linux 中的nc命令小結(jié)

    這篇文章主要介紹了linux中的nc命令知識,非常不錯,值得收藏,需要的朋友參考下吧
    2017-02-02

最新評論