1. 程式人生 > 實用技巧 >Linux基本安全防護技術

Linux基本安全防護技術

Linux基本安全防護技術

概述

常用命令

  • whoami

    • 顯示與當前的有效使用者ID相關聯的使用者名稱

    • 簡單的說,就是在操作之前確認一下我是誰

  • id

    • 檢視使用者的id

    • id username 檢視username使用者的id

  • useradd

    • 新增使用者

    • -m : 一起建立使用者的家目錄,如果沒有-m指令不會建立使用者的家目錄

    • -s: 指定使用者的登入shell型別, -s /bin/bash

      -s 可以不用指定

    • 示例: uaseradd -m -s /bin/bash xxx

      adduser命令更好用

      直接 adduser 使用者名稱就好

  • userdel

    • 刪除已存在使用者

    • -r: 使用者主目錄以及使用者主目錄下檔案一起刪除

    • 示例: userdel -r newuser

  • passwd

    • 修改使用者口令

    • 兩種典型用法:

      • 修改當前使用者口令passwd

      • 修改指定使用者口令passwd username

常用術語

  • 訪問、主體、客體

    • 訪問: 兩個實體間的資訊流動

    • 主體: 發起訪問的實體,主動的, 通常為代表某個使用者的程序

    • 客體: 響應訪問的實體,被動的, 通常為檔案

  • 訪問型別

訪問就是資訊的流動,可以分為讀、寫、執行三種類型

* 讀(Read/r):
* 資訊由客體流向主體
* 寫(Write/w):
* 資訊由主體流向客體
* 執行(Execute/x):
* 將客體的內容引入記憶體並作為程式碼執行

補充說明 在有些文件中,目錄檔案的執行,稱之為搜尋(Search)對目錄的內容進行搜尋(查詢)。

cat file 為例解讀上述基本概念

訪問許可權(許可位)

檔案許可權

我們探討檔案許可權, 準確的描述是“使用者A對檔案B的訪問許可權” , 判斷使用者A是否被允許訪問檔案B。 可以分兩步:

  • 先判斷使用者A的類別(所謂A的類別,就是A是屬主? 屬組? 還是其他?)

  • 在根據使用者的類別,檢視相應的許可位

屬主、屬組、“其他”的概念

在探討一個檔案是否被允許訪問,首先需要明確訪問者的“身份類別",因為檔案的訪問許可就是以檔案的屬主、屬組、其他來組織的。

以一下內容,參考自《Linux私房菜-基礎篇》, 舉例比較清晰

關於者和屬組的關係, 我們可以使用目前“家庭”的觀念來來進行解說。假謳有一家人,家裡只有三兄弟,分別是王大毛、王二毛、王三毛三個人, 而這個家庭是登記在王大毛的名下的!所以,“王大毛家有三個人,分別是王大毛、王二毛,王三毛”, 而且這三個人都有自己的房間,並且共同擁有一個客廳喔!

  • 屬主的概念: 由於王家三人各自擁有自己的房間, 所以, 王二毛雖然可以進入王三毛的房間,但是二毛不能翻三毛的抽屜喔!那樣會被三毛K的! 因為抽屜裡面可能有三毛自己私人的東西,例如情書啦,日記啦等等的,這是“私人的空間”,所以當然不能讓二毛拿啦。

  • 屬組的概念: 由於共同擁有客廳,所以王家三兄弟可以在客廳開啟電規機啦、 翻閱報紙啦、坐在沙發上面發呆啦等等的! 反正,只要是在客廳的玩意兒,三兄弟都可以使用喔! 因為大家都是一家人嘛!

    這樣說來應該有點曉得了喔! 那個“王大毛家”就是所謂的“屬組”, 至於三兄弟就是分別為三個“屬主”,而這三個屬主是在同一個屬組裡面的喔! 而三個屬主雖然在同一屬組內,但是我們可以設定“許可權” 好讓某些使用者個人的資訊不被屬組的屬主查詢,以保有個人“私人的空間”啦! 而設定屬組共享,則可讓大家共同分享喔!

  • “其他”的概念: 那麼今天又有個人,叫做張小豬,他是張小豬家的人,與王家沒有關係啦! 這個時候,除非王家認識張小豬,然後開門讓張小豬進來王家,否則張小豬永進沒有辦法進入王家, 更不要說迚到王三毛的房間啦!不過,如果張小豬透過關係認識了三毛,並且跟王三毛成為好朊友,那麼張小豬就可以透過三毛進入王家啦!呵呵!沒錯!那個張小豬就是所謂的“其他人,Others”囉!

    因此, 簡單的說,在 Linux 裡面,任何一個檔案都具有"User, Group 及 Others”三種身份的個別許可權, 我們可以將上面的說明以底下的圖來解釋:

一般來說, 我們通常用簡寫字母來表示屬主、屬組、其他:

  • u: 屬主

  • g: 屬組

  • o: 其他

從ls命令輸出,進行逐列介紹

Panda.Guo@2018-04-03 14:32:43 $ ls -l
drwxr-xr-x 2 panda panda 4096 6月 3 14:32 dir
-rwxr--r-- 1 panda panda 0 6月 3 13:43 file1

許可權(訪問許可位)

許可位,共計4組組成, 每組3位,

  • S/Owner/Group/Other

  • S組

    • b3 → SUID;b2 → SGID;b1 -> Sticky

  • Owner組

    • b3 → Read;b2 → Write; b1 -> Execute

  • Group組

    • b3 → Read;b2 → Write; b1 -> Execute

  • Other組

    • b3 → Read;b2 → Write; b1 -> Execute;

  • 可以採用chmod來修改許可權、

  • 普通檔案許可權控制:

    • r 可讀檔案

    • w 可寫檔案

    • x 可執行檔案

  • 目錄檔案

    r:讀取目錄下的目錄項

    w:在目錄下建立、移動重新命名和刪除檔案

    x: 進入到目錄的許可權,如CD