Linux編程 16 文件許可權(組管理 groupadd, groupmod,文件許可權介紹)

来源:https://www.cnblogs.com/MrHSR/archive/2018/09/22/9691398.html
-Advertisement-
Play Games

一.用戶組 前面章節知道用戶賬戶在控制單個用戶安全性方面很好,但涉及到共用資源或把用戶類型分組時,組概念就出來了。 組許可權允許多個用戶對系統中的對象(比如文件,目錄,設備等)共用一組共用的許可權。 在centos中創建一個用戶會為該用戶單獨創建一個組,這樣可以更安全一些。 1.1 /etc/group ...


一.用戶組

  前面章節知道用戶賬戶在控制單個用戶安全性方面很好,但涉及到共用資源或把用戶類型分組時,組概念就出來了。 組許可權允許多個用戶對系統中的對象(比如文件,目錄,設備等)共用一組共用的許可權。 在centos中創建一個用戶會為該用戶單獨創建一個組,這樣可以更安全一些。

  1.1   /etc/group 文件
    與用戶一樣,組信息也保存在系統的一個文件中。/etc/group文件包含系統上用到的每個組的信息。如下圖所示:
      
    GID在500以內屬於系統賬戶,而用戶組的GID則從500開始分配(好像不同發佈版有所不同)。上面有三個欄位:組名,組密碼,GID。組密碼是允許非組內成員通過組密碼臨時成為該組成員,但這功能並不常用。創建組時不能直接通過/etc/group文件來添加用戶到一個組,要用usermod命令,上篇有講到該命令。

  1.2   創建新組 groupadd
    
下麵使用groupadd 命令在系統上創建新組(gtest),如下圖所示:
      
    在創建新組後,預設沒有用戶被分配到該組下,使用usermod或useradd都可以將用戶分配到指定組:例如之前安裝mysql時,使用useradd來創建mysql用戶,並指定到mysql組中.如下圖所示:
      
    下麵使用useradd來創建用戶gtest1和gtest2,指定到gtest組8001中,如下圖所示:
      

  1.3   修改組
    
修改組使用groupmod命令可以修改已有組的GID(-g選項)或組名(-n選項)。當修改組名時,gid和組成員不變,只有組名改變,由於所有安全許可權都是基於GID的,所以隨變修改組名不會影響文件的安全性。下麵使用groupmod –n來修改gtest組名為gtest1。
      

 

二.文件許可權

在瞭解用戶和組之後,下麵來解讀文件許可權,通過ls 命令輸出來介紹分析。下麵隨意定位在個目錄下。
      
上面結果第一列,就是描述文件和目錄許可權的編碼。第一列的第一個字元分別代表了對象的類型:
(1)     – 代表文件

(2)     d 代表目錄

(3)     l  代錶鏈接

(4)     c 代表字元型設備

(5)     b 代表塊設備

(6)     n 代表網路設備

    第一列之後有3組三字元的編碼,每一組定義了3種訪問許可權,沒有許可權是單破折線:
    (1)     r 代表對象是可讀的

    (2)     w 代表對象是可寫的

    (3)     x 代表對象是可執行的

    上面3組許可權分別對應對象的3個安全級別:對象的屬主,對象屬組,系統其它用戶

    例如:rwxr-xr-x 這樣一組。前三個字元(rwx)是對象的屬主許可權(用戶hsr),中間三個字元(r-x)是對象屬組的許可權(組hsr下的用戶),後面三個字元(r-x)是系統其它用戶許可權。

    在上面這一組許可權中,屬組和其它用戶對該文件沒有寫入許可權,只有讀和執行許可權。


      


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 情景:公司項目基於.net4.0,web客戶端實現單點登錄需要自己解密id_token,對於jwt解密,.net提供了IdentityModel類庫,但是4.0中該類庫不可用,所以自己實現瞭解密方法.. 使用了類庫:https://github.com/jwt-dotnet/jwt 下麵直接貼代碼, ...
  • 樂觀併發的解決方案有以下三種: 1) 可以跟蹤用戶已修改的屬性,並僅更新資料庫中相應的列。 2) 可讓後提交的用戶更改覆蓋之前用戶提交的更改。 3) 可以阻止在資料庫中更新後一用戶提交的更改。 ...
  • 創建xml對應的對象類 根節點,對應類名 [XmlRoot("ComponentLog ")] public class ComponentLog{ } 其他節點,對應屬性名 [XmlElement("LogCategory")] public string logCategory { get; s ...
  • 一、前言 1、本文主要內容 使用dotnet cli創建基於解決方案(sln+csproj)的項目 使用Visual Studio Code開發基於解決方案(sln+csproj)的項目 Visual Studio Code Solution插件( vscode-solution-explorer) ...
  • 轉載請註明出處,AutoFac:最流行的依賴註入和IOC框架,輕量且高性能,對項目代碼幾乎無任何侵入性。 那麼我們怎麼來使用這樣一個框架呢 1、在引用項右擊,選擇Nuget管理,這裡我們要導入兩個包 一個是AutoFac包,另外一個就是Autofac ASP.NET MVC5 Intergratio ...
  • 最近在學習C#,昨天老師佈置了一個作業,輸入年月日,返回這一天是一年中的第幾天。 大致分析了一下,想出了一種方法,大致思路如下: 使用 switch 檢測月份得出該月長度; 根據年份決定二月長度; 最後再加上日期。 以下列出代碼: 然而,看了一個同學的代碼,簡直是醍醐灌頂。大致思路如下 使用一個長度 ...
  • _譯註:昨天看 Adruino 的 Twitter 推了這篇項目,第一眼就覺得非常有趣,翻譯給大家看看。文中的紅外感測器比較高級,和淘寶上5塊錢的那種只能輸出0和1的不一樣, TPA81 是可以輸出溫度的,還是8個連續點。 MLX90614 可以輸出一點的溫度,還賣將近三十,可以想象 TPA81 的 ...
  • 本文參考 https://www.jianshu.com/p/9a5c4cb0452d 此文已在ubuntu下確實安裝成功,只不過懶得截圖了,可以參照上述地址,我在他原基礎上進行了一些更改。 安裝Oh My Zsh 安裝Oh My Zsh之前必須安裝zsh. 安裝zsh: 1. 安裝zsh 2. 確 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...