第三章 Linux 的檔案權限 - Ian-Liu-1990/Linux GitHub Wiki

所在位置

1. 多人多工的系統Linux,所需要的資料夾與檔案權限

改變檔案屬性與權限

  1. 檔案權限

    1. 使用者(Users) : 使用者名稱必須在etc/passwd中,13章講解如何新增刪除使用者

      1. 相關檔案etc/passwd : 負責新增,設定和記錄使用者名稱,例如 : levi
      2. 檔案變更所屬使用者 : chown [-R] dirname/filename
        • 例如: "chown" -R(迭代將所有子資料都一起變更) "使用者名稱" "檔案"的"絕對"或"相對"路徑
        • 例如: "chown" -R(迭代將所有子資料都一起變更) "使用者名稱 : 群組名稱" "檔案"的"絕對"或"相對"路徑
    2. 改變所屬群組(Groups) : 群組名稱必須在etc/group中,13章講解如何新增刪除群組

      1. 相關檔案etc/group : 負責新增,設定和記錄群組名稱,例如 : users
      2. 檔案變更所屬群組 : chgrp [-R] 群組名稱 dirname/filename,例如: chgrp -R(迭代將所有子資料都一起變更) 群組名稱 檔案的"絕對"或"相對"路徑
    3. 非本群組外的其他人(Others)

  2. 檔案最高權限 : 指令su,切換成root身分,exit結束root身分;但不以root登入系統

    1. ls -al : 依序顯示一個檔案的資訊
    2. 改變檔案權限 : chmod [-R] XYZ "檔案"的"絕對"或"相對"路徑;例: chmod 7(4+2+1)4(4+0+0)6(4+2+0) fileName
1. 權限 2. 連結 3. 使用者 4. 群組 5. 檔案容量 6. 修改日期 7. 檔名
  1. 針對帳號使用來設定權限 : -rwxrwxrwx

      • : 可分為-(檔案), d(目錄), l(連結檔)
    1. rwx :
      1. r(4 : 可讀)
      2. w(2 : 可寫) : 可寫可更新與變更檔案內容,但不一定可以刪除該檔案
      3. x(1 : 可執行) : 檔案是否可執行需依照x屬性,與副檔名沒有關係;有別於windows,明顯的副檔名.com, .exe
    2. 要閱讀一個檔,至少要具備該檔所在目錄X權限才可以!!!
  2. 第二欄表示有多少檔名連結到此節點(i-node)

  3. 第三欄表示這個檔案(或目錄)的擁有者帳號

  4. 第四欄表示這個檔案的所屬群組

  5. 第五欄為這個檔案的容量大小,預設單位為byte

  6. 第六欄為這個檔案的建檔日期或者是最近的修改日期

  7. 第七欄為這個檔案的檔名

  • 權限總結 :
元件 內容 r w x
檔案 讀到文件內容 修改文件內容 執行文件內容
資料夾 讀/看到到檔名 修改檔名 進入該目錄的權限(key),資料夾沒有X屬性是無法進入的

2. Linux檔案種類與副檔名

1. 正規檔案( - 表示),CentOS 7 當作預設檔案系統的 xfs

  1. 純文字檔(ASCII) : 可以直接讀到的資料,例如數字、字母等等

  2. 二進位檔(binary) : Linux當中的可執行檔,例如cat就是

  3. 資料格式檔(data) : 具有特定格式的檔案可以被稱為資料檔 (data file),使用者登入紀錄/var/log/wtmp即是

  4. 目錄(directory) : 第一個屬性為 [ d ]

  5. 連結檔(link) : 類似Windows系統底下的捷徑,第一個屬性為 [ l ]

  6. 設備與裝置檔(device) : 通常都集中在/dev <-嵌入式

    1. 區塊(block)設備檔 : 硬碟與軟碟,第一個屬性為[ b ]
    2. 字元(character)設備檔 : 一些序列埠的周邊設備,第一個屬性為 [ c ]
  7. 資料接口檔(sockets) : 在網路上的資料承接,啟動一個程式來監聽用戶端的要求, 而用戶端就可以透過這個socket來進行資料的溝通了。第一個屬性為 [ s ], 最常在/run或/tmp這些個目錄

2. 副檔名Linux檔案能不能被執行,與他的第一欄的十個屬性有關, 與檔名根本一點關係也沒有

  1. *.sh : 腳本或批次檔 (scripts)
  2. *Z, *.tar, *.tar.gz, *.zip, *.tgz: 經過打包的壓縮檔。這是因為壓縮軟體分別為 gunzip, tar
  3. *.html, *.php:網頁相關檔案