初識Linux作業系統

檔案系統

檔案系統是一種結構化的方法,用以存儲和管理電腦上的資料。

Linux檔案系統

Linux檔案系統是一組進程,其用來管理在存儲設備上的時間、位置及存儲方式。
此外,它系統地管理磁碟區與分割區的資料,且在Linux中每一個分割區都有自己的檔案系統 => 因爲在Linux下一切皆為檔案

Linux檔案系統結構

Linux 檔案系統包含三層

  1. 邏輯檔案系統 (Logical File System)
    邏輯檔案系統是應用程式和檔案系統的橋樑,負責提供開啟、關閉、讀取等操作的介面。
  2. 虛擬檔案系統 (Virtutal File System)
    VFS 提供標準介面,讓不同檔案系統同時運作並保持相容。
  3. 物理 / 實體檔案系統 (Physical File System)
    物理 / 實體檔案系統直接管理磁碟區塊,負責資料存取與資源高效分配。

Linux.png

檔案管理

權限

  1. 什麼是權限?
    => 權限就是決定是否能訪問資源。
  2. 為什麼要有權限?
    => 多用戶作業系統,會同時有多個人登入訪問,權限能更好的對不同用戶進行管理。
  3. 權限的本質就是 人 + 檔案屬性

    • 人:root 或普通用戶
      而root是超級用戶,通常不受權限拘束(絕大部分的內容root都不會被受拘束);而普通用戶會受到權限拘束。
      如果要在 root 與普通用戶中做切換
      切換用戶.png
      如果要切換用戶通常需要輸入對應的密碼,root的密碼通常只有管理員知道,所以基本上不太能切換至root。
      所有用戶.png
      切換其他用戶.png
      切換root超級用戶.png
      su - 用戶名 是讓用戶以重新登入的方式進行切換。
    • 檔案屬性:前面提過,Linux下一切皆檔案,既然是檔案就有天然具備的屬性(R、W、X)。
  4. Linux中角色的問題
    權限是依附於角色的!!而角色又分為:擁有者角色(user)、所屬組角色(group)及other角色。
    權限.png
    (1) 用戶訪問文件的時候,自己相對於檔案的身份只會驗證一次 => 權限身份只會驗證一次。
    權限演示2.png
    即使文件擁有者也是屬於所屬組的一員,擁有者的Write權限被修改後,即使所屬組有Write的權限,擁有者依然不能Write。
    (2) 關於可執行
    一個文件要可以被執行,其需具備 a. 文件自身就是一個可執行文件 b. 文件本身具備可執行權限。
    給x權限,不是讓用戶可以執行,而是當用戶想執行的時候,OS允許執行。
    (3) 文件要給其他人需要其他人的允許 ( 需要目標用戶的密碼 ) => 但可以藉由超級用戶強制將文件給其他用戶。
    (4) 文件擁有者具有修改權限的權利

修改權限的指令 - chmod

  • chmod +rwx filename– 新增讀取、寫入和執行權限
  • chmod -rwx directoryname– 刪除所有權限
  • chmod +x filename– 授予可執行權限
  • chmod -wx filename– 刪除寫入和執行權限

權限相關映射值

  • read -> 4 ; write -> 2 ; execute -> 1

權限的三個子問題

  • 進入一個目錄需要什麼權限?
    進入一個目錄需要 可執行的權限,再強調一次,Linux下一切皆檔案,我既然要進入目錄,其實就相當於我要執行這個目錄,因此需要的是可執行權限。
    r --- 決定用戶是否有權利查看指定目錄底下的文件屬性。
    w --- 決定用戶是否有權利在特定目錄底下新增、刪除文件及修改文件名。
  • 為什麼新建的目錄或普通文件默認權限是我們看到的那樣?
    對於普通文件起始權限是666;目錄起始權限是777
    但是我們在沒有任何修改的情況下,看到的普通文件是664而目錄文件是775啊?
    => 這是因爲Linux系統中,為了對權限進行細粒度的控制,因此採用了權限掩碼
    我們可以使用umask指令查看掩碼。
    umask.png
    而我們看到的權限事實上是 起始權限&(~umask),也就是說,最終權限 = 起始權限去掉權限掩碼
    因此我們看到的結果是664與775而不是666和777。
  • ---的情況下可以進行刪除操作嗎?
    01.png
    02.png
    我們前面提到過,擁有者與超級管理員(root) 擁有控制權限的能力,而上面的例子中,目錄的創建者與所屬者都使root
    但普通用戶卻可以刪除目錄?這其實是因爲我們當前的目錄所屬的home目錄是我們自己的!!因此我們有權利對該目錄內的普通文件或目錄進行操作,不僅如此,若我們將文件與其他用戶共享,那麼其他用戶也有權利刪除!!!
    04.png
    那如果不希望除了我和root以外的人刪除文件要如何解決?----- 黏滯位
    other設置權限管理級別,指定t目錄下,每個人新建的文件刪除時只能自己刪除自己的。
    此時刪除的權限就變成
    (1) 超級管理員
    (2) 該目錄的所有者
    (3) 該文件的所有者
    文件管理者.png