Blog Details

Linux 作業系統 cutexyz > Blog > 學習 Linux > 新手村 > Linux 新手村 Week 004 – 檔案權限帳號關係, 套件管理

Linux 新手村 Week 004 – 檔案權限帳號關係, 套件管理

檔案權限帳號關係

檔案的權限分三個類型來做限制, 擁有者權限, 群組權限與其他權限. 每一個類型都有三種權限

R, 讀取權限
W, 寫入權限
X, 執行權限

請看以下範例, 我們把檔案列表(Command: ls -l)資訊分成 8 個 parts

  • 檔案清單訊息解說
    • Part 1, 10 ( 1 + 9) 個英文字元
      • 記錄所有系統user資料的檔案,所記錄的資料包括username、password(有加密), user id, group id, comment ( 註解 ), user home directory, user’s default shell 目錄
      • 第1位, 如果是 d 代表這個是目錄, – 代表這個是檔案
      • 第 2, 3, 4位: 表示檔案擁有者的存取權限
      • 第 5, 6, 7位: 表示檔案所屬群組的存取權限
      • 第 8. 9. 10位: 表示其他使用者的存取權限
    • Part 2, number of (hard) links, 檔案硬連結數量, 有關軟連結, 硬連結可參考 LINK
    • Part 3, 檔案擁有者的帳號
    • Part 4, 檔案所屬群組, 該群組內的帳號擁有相同的權限
    • Part 5, 檔案大小 by Bytes, 如果想要讓這個單位更直覺, 可以加上參數, ls -lh
    • Part 6, mtime, 檔案最後修改時間
    • Part 7, mtime, 檔案最後修改時間
      • 以上 Part 6 & 7 要注意的是半年內修改: 顯示「月份、日期、時間」(例如 Mar 23 08:30)。
      • 超過半年: 顯示「月份、日期、年份」(例如 Oct 12 2025),具體的小時分鐘會被隱藏。
      • 如果要看完整的檔案相關時間, 可用 stat 指令, 參考 LINK
      • Part 8, 檔案完整名稱
  • 編輯檔案權限
    • 使用指令 chmod, 使用方式有很多種, 列舉如下
    • chmod +r filename, 將檔案加上 “讀取” 的功能, 不限擁有者, 所屬群組, 或是其他人
    • chmod +w filename, 將檔案加上 “寫入” 的功能, 不限擁有者, 所屬群組, 或是其他人
    • chmod +x filename, 將檔案加上 “執行” 的功能, 不限擁有者, 所屬群組, 或是其他人
    • chmod XXX filename, XXX 代表三個數字, 數字所代表的意義請以下說明
      • 0, 代表沒有任何權限
      • 1, 代表有執行權限
      • 2, 代表有寫入權限
      • 4, 代表有讀取權限
      • 範例:
        • 想給檔案擁有者全部的權限, 第一個 X 就請帶入 7
        • 想給檔案所屬群組讀寫權限, 第二個 X 就請帶入 6
        • 想給檔案擁有者, 所屬群組以外的人僅有讀取的權限, 第三個 X 就請帶入 4…………… 依此類推
    • chmod g=rwx filename, 調整該檔案的所屬群組權限
    • chmod o=rwx filename, 調整檔案擁有者的權限
    • chmod u+x filename, 加減檔案所有者對該檔案的權限
  • 更改檔案擁有者與群組歸屬
    • chgrp groupname filename, 更改檔案所屬群組
    • chown owner:groupname filename: 同時更改檔案擁有者與所屬群組
  • 其他相關指令
    • touch filename, 建立空檔案
    • 快速建立簡短內容的檔案, echo “Hello!” > filename
  • 刪除 user
    • sudo userdel $username, 家目錄還在喔!!!
    • sudo userdel -r $username, 這樣該帳號的相關家目錄與郵件都會刪除
    • Or ubuntu / debian 專有的 deluser

套件管理

我們先來了解一下 apt > apt-get > dpkg, 這個方向是從先進簡單到最原始的一個指令排序, 但是他們都依樣是系統的討間管理指令.

特性 dpkg apt-get apt
全名 Debian Package Advanced Package Tool Advanced Package Tool
層級 底層工具 中層命令列工具 高層使用者互動工具
安裝對象 本地端 .deb 檔案 遠端軟體倉庫 (Repository) 遠端軟體倉庫 (Repository)
相依性管理 不具備(缺套件會報錯) 具備(會自動下載缺少的套件) 具備(自動處理,且介面更友善)
主要用途 安裝、查詢單個已下載的檔案 腳本編寫、伺服器自動化 個人日常使用(推薦)
進度條顯示 (更美觀的介面)

常用指令比較

動作 傳統指令 (apt-get/cache) 現代指令 (建議使用)
更新軟體清單 apt-get update apt update
安裝軟體 apt-get install apt install
移除軟體 apt-get remove apt remove
搜尋軟體 apt-cache search apt search
列出已安裝軟體 dpkg -l apt list --installed

那麼既然有比較現代化的指令 apt 了, 為什麼還要用 dpkg 呢? 那是因為你會遇到 deb 的安裝檔, 以下範例解說

# 當你從網路上(例如 Google Chrome 官網)下載了一個 .deb 安裝檔時。

# apt 無法直接「吃, 安裝」一個本地檔案,這時要用 dpkg
sudo dpkg -i google-chrome-stable_current_amd64.deb

Leave A Comment

All fields marked with an asterisk (*) are required