Linux權限管理詳解

Linux權限管理系統

Linux作為一個多用戶操作系統,其權限管理系統是保障系統安全的重要組成部分。通過合理設置文件和目錄的權限,可以有效控制用戶對系統資源的訪問。

一、基本權限概念

Linux系統中的權限分為三類:

  1. 讀權限(r):允許讀取文件內容或列出目錄內容
  2. 寫權限(w):允許修改文件內容或在目錄中創建、刪除文件
  3. 執行權限(x):允許執行文件或進入目錄

這些權限分別應用于三種用戶類型:

  1. 文件所有者(u):創建文件的用戶
  2. 用戶組(g):與文件關聯的用戶組
  3. 其他用戶(o):既不是所有者也不在用戶組中的用戶

二、查看文件權限

使用ls -l命令可以查看文件的詳細信息,包括權限:

$?ls?-l-rwxr-xr--?1?user?group?4096?Jan?1?10:00?file.txt

權限部分解析:

  • 第一個字符:文件類型(-表示普通文件,d表示目錄,l表示符號鏈接等)
  • 接下來的9個字符分為3組,每組3個字符:
    • 第1-3位:所有者權限(rwx)
    • 第4-6位:用戶組權限(r-x)
    • 第7-9位:其他用戶權限(r--)

三、權限的數字表示

權限也可以用數字表示:

  • r (讀) = 4
  • w (寫) = 2
  • x (執行) = 1

通過將每組權限的數字相加,可以得到一個三位數:

  • 例如:rwxr-xr-- = 754
    • 所有者:rwx = 4+2+1 = 7
    • 用戶組:r-x = 4+0+1 = 5
    • 其他用戶:r-- = 4+0+0 = 4

四、修改文件權限

1. chmod命令

chmod命令用于修改文件或目錄的權限。有兩種使用方式:

符號模式

chmod?[用戶類型][操作符][權限]?文件名

  • 用戶類型:u(所有者)、g(用戶組)、o(其他用戶)、a(所有用戶)
  • 操作符:+(添加權限)、-(移除權限)、=(設置權限)
  • 權限:r(讀)、w(寫)、x(執行)

例如:

chmod u+x file.txt  # 給所有者添加執行權限
chmod go-w file.txt  # 移除用戶組和其他用戶的寫權限
chmod a=r file.txt  # 設置所有用戶只有讀權限

數字模式

chmod?權限數字?文件名

例如:

chmod?755?file.txt??#?設置權限為rwxr-xr-xchmod?644?file.txt??#?設置權限為rw-r--r--

2. chown命令

chown命令用于修改文件的所有者和用戶組:

chown?用戶[:組]?文件名

例如:

chown?user1?file.txt??#?修改所有者為user1chown?user1:group1?file.txt??#?修改所有者為user1,用戶組為group1

3. chgrp命令

chgrp命令用于修改文件的用戶組:

chgrp?組名?文件名

例如:

chgrp?group1?file.txt??#?修改用戶組為group1

五、特殊權限

除了基本的rwx權限外,Linux還有三種特殊權限:

  1. SUID (Set User ID):當文件被執行時,進程的有效用戶ID會被設置為文件所有者的ID

    • 數字表示:4000
    • 符號表示:s (替代所有者的x位置)
  2. SGID (Set Group ID):當文件被執行時,進程的有效用戶組ID會被設置為文件用戶組的ID

    • 數字表示:2000
    • 符號表示:s (替代用戶組的x位置)
  3. Sticky Bit:主要用于目錄,只有文件的所有者、目錄的所有者或root用戶才能刪除或重命名目錄中的文件

    • 數字表示:1000
    • 符號表示:t (替代其他用戶的x位置)

設置特殊權限的例子:

chmod?u+s?file??#?設置SUIDchmod?g+s?directory??#?設置SGIDchmod?+t?directory??#?設置Sticky?Bitchmod?4755?file??#?設置SUID和rwxr-xr-x權限

六、默認權限與umask

新創建文件和目錄的默認權限由系統的umask值決定:

  • 文件的最大默認權限是666 (rw-rw-rw-)
  • 目錄的最大默認權限是777 (rwxrwxrwx)
  • 實際默認權限 = 最大默認權限 - umask值

查看當前umask值:

umask

設置umask值:

umask?022??#?設置umask為022

常見的umask值:

  • 022:文件默認權限為644 (rw-r--r--),目錄默認權限為755 (rwxr-xr-x)
  • 002:文件默認權限為664 (rw-rw-r--),目錄默認權限為775 (rwxrwxr-x)

七、訪問控制列表(ACL)

當基本權限不足以滿足需求時,可以使用訪問控制列表(ACL)提供更精細的權限控制:

查看文件的ACL:

getfacl?文件名

設置文件的ACL:

setfacl?-m?u:用戶名:權限?文件名??#?為指定用戶設置權限setfacl?-m?g:組名:權限?文件名??#?為指定用戶組設置權限

例如:

setfacl?-m?u:john:rw?file.txt??#?給用戶john添加讀寫權限setfacl?-m?g:developers:rx?file.txt??#?給developers組添加讀和執行權限

總結

Linux的權限管理系統是保障系統安全的重要組成部分。通過合理設置文件和目錄的權限,可以有效控制用戶對系統資源的訪問。掌握權限管理的基本概念和操作方法,對于系統管理和安全維護至關重要。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/898574.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/898574.shtml
英文地址,請注明出處:http://en.pswp.cn/news/898574.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

第十四次CCF-CSP認證(含C++源碼)

第十四次CCF-CSP認證 賣菜滿分思路 買菜滿分思路 再賣菜滿分題解(差分約束)solution 1(枚舉 correct but 超時)solution 2(正解) 賣菜 題目鏈接 滿分思路 就是模擬一下這個調整第二天菜價的過程,其中對于兩種只有一個鄰居的情況下做出調整&…

CCBCISCN復盤

AWDP – ccfrum 自己搭了一下環境, 復現一下這道題目, 之前比賽的時候完全沒想到這個漏洞要怎么打, 修也不知道要怎么修, 就僅僅是對用戶名的賬號和密碼進行了一下過濾, 完全沒起到作用, 唉, 實在太菜 如果想要嘗試復現的話可以嘗試拉取這個鏡像, 我打完之后就直接把這個容器給…

(每日一道算法題)交易逆序對的總數

LCR 170. 交易逆序對的總數 - 力扣(LeetCode) 在股票交易中,如果前一天的股價高于后一天的股價,則可以認為存在一個「交易逆序對」。請設計一個程序,輸入一段時間內的股票交易記錄 record,返回其中存在的「…

【操作系統】共享數據的競爭問題

共享數據的競爭問題 問題:保護中斷與主程序共享的avg_data方法一:使用關中斷保護1. 添加關中斷宏2. 修改數據讀取代碼3. 修改中斷服務程序(ISR) 方法二:使用原子操作(需平臺支持)1. 定義原子類型…

VS010生成可由MATLAB2016調用的DLL文件方法

親測實用,不用配置雜七雜八的依賴項 1:新建Win32的DLL輸出項目 2:修改為release模式 3:添加calc.cpp文件,即要導出的函數myadd: #include "calc.h" __declspec(dllexport) int myadd(int a,in…

機器學習Pandas_learn4

import pandas as pddef calculate_goods_covariance():# 定義商品銷售數據字典goods_sales_data {"時期": ["一期", "二期", "三期", "四期"],"蘋果": [15, 16, 3, 2],"橘子": [12, 14, 16, 18],&quo…

優選算法系列(3.二分查找 )

目錄 一.二分查找(easy) 題目鏈接:704. 二分查找 - 力扣(LeetCode) 解法: 代碼: 二.在排序數組中查找元素的第?個和最后?個位置(medium) 題目鏈接:34.…

DAY36貪心算法Ⅴ

56. 合并區間 - 力扣&#xff08;LeetCode&#xff09; class Solution { static bool cmp(vector<int>&a,vector<int>&b){return a[0] < b[0]; } public:vector<vector<int>> merge(vector<vector<int>>& intervals) {so…

阿里云服務器部署 五 Nginx + springboot

Nginx的部分配置 1. 基礎容災配置&#xff08;被動健康檢查&#xff09; 在 upstream 塊中&#xff0c;通過 max_fails 和 fail_timeout 參數定義故障轉移規則&#xff1a; 在 upstream 塊中&#xff0c;通過 max_fails 和 fail_timeout 參數定義故障轉移規則&#xff1a;…

基于大模型的下頜前突畸形預測及治療方案研究報告

目錄 一、引言 1.1 研究背景 1.2 研究目的 1.3 研究意義 二、大模型技術原理與應用現狀 2.1 大模型的基本原理 2.2 在醫療領域的應用案例 2.3 在下頜前突畸形研究中的可行性分析 三、下頜前突畸形概述 3.1 定義與分類 3.2 流行病學特征 3.3 病因與發病機制 3.4 對…

接口自動化測試框架詳解

&#x1f345; 點擊文末小卡片&#xff0c;免費獲取軟件測試全套資料&#xff0c;資料在手&#xff0c;漲薪更快 接口自動化測試是指通過編寫程序來模擬用戶的行為&#xff0c;對接口進行自動化測試。Python是一種流行的編程語言&#xff0c;它在接口自動化測試中得到了廣泛…

Day11 動態規劃入門

動態規劃 就是 : 給定一個問題&#xff0c;我們把它拆成一個個子問題&#xff0c;直到子問題可以直接解決。然后把子問題的答案保存起來&#xff0c;以減少重復計算。再根據子問題答案反推&#xff0c;得出原問題解的一種方法. 記憶化搜索 暴力dfs 記錄答案 動態規劃入門思…

[AI速讀]用持續集成(CI)優化芯片驗證環境:Jenkins與EDA工具的實戰指南

在芯片驗證中,回歸測試(Regression Test)是確保設計穩定性的關鍵步驟。但隨著設計復雜度增加,手動管理海量測試用例、分析日志和覆蓋率數據變得異常耗時。本文將介紹如何利用持續集成(CI)工具Jenkins,結合EDA驗證環境(如Cadence vManager),實現自動化測試與結果分析,…

深度解析:JavaScript變量聲明的演變與核心差異(var/let/隱式聲明)

深度解析&#xff1a;JavaScript變量聲明的演變與核心差異&#xff08;var/let/隱式聲明&#xff09; 一、JavaScript變量聲明的演進史 JavaScript的變量聲明機制經歷了三個階段演進&#xff1a; 原始階段&#xff08;ES5及之前&#xff09;&#xff1a;僅 var 聲明 隱式全局…

第2.1節:AWK腳本結構

1 第2.1節&#xff1a;AWK腳本結構 1.1 第1個awk腳本 假設有如下的數據待處理&#xff0c;需要將第2列提取出來&#xff1a; #, 名稱, 大小, 類型, 修改, 屬性 1, COMMIT_EDITMSG, 331 bytes, 文件, 24/09/16 08:42:19, -a----- 2, config, …

Win NAS 分享功能:精準、安全的內容共享

WinNAS 不僅是一款強大的 NAS服務&#xff0c;還通過耘想存儲 APP 提供了便捷的內容分享功能。無論是與個人、群聊、朋友圈還是公眾分享文件&#xff0c;WinNAS 都配備了嚴格的權限管理機制&#xff0c;確保您的數據安全且精準地傳遞給目標對象。以下是 WinNAS 分享功能的詳細介…

C# 項目06-計算程序運行時間

實現需求 記錄程序運行時間&#xff0c;當程序退出后&#xff0c;保存程序運行時間&#xff0c;等下次程序再次啟動時&#xff0c;繼續記錄運行時間 運行環境 Visual Studio 2022 知識點 TimeSpan 表示時間間隔。兩個日期之間的差異的 TimeSpan 對象 TimeSpan P_TimeSpa…

網絡華為HCIA+HCIP NFV

目錄 NFV關鍵技術&#xff1a;虛擬化 NFV關鍵技術&#xff1a;云化 NFV架構 NFV標準架構 ?編輯 NFV架構功能模塊 NFV架構接口 NFV關鍵技術&#xff1a;虛擬化 在NFV的道路上&#xff0c;虛擬化是基礎&#xff0c;云化是關鍵。傳統電信網絡中&#xff0c;各個網元都是…

SpringBoot實現異步調用的方法

在Java中使用Spring Boot實現異步請求和異步調用是一個常見的需求&#xff0c;可以提高應用程序的性能和響應能力。以下是實現這兩種異步操作的基本方法&#xff1a; 一、異步請求&#xff08;Asynchronous Request&#xff09; 異步請求允許客戶端發送請求后立即返回&#x…

xwiki自定義認證實現單點登錄

xwiki支持自定義認證 繼承XWikiAuthServiceImpl類后將類配置到WEB-INFO下xwiki.cfg的xwiki.authentication.authclass屬性上開啟自定義認證。 官方文檔&#xff1a;https://www.xwiki.org/xwiki/bin/view/Documentation/AdminGuide/Authentication/ 官方自定義認證的示例&#…