Linux 用戶篇——用戶管理的配置文件

来源:https://www.cnblogs.com/xphDeV/archive/2018/04/01/8684672.html
-Advertisement-
Play Games

一、用戶管理之配置文件的重要性 在Linux系統中,用戶賬戶的相關信息是存放在相關配置文件中。而Linux安全系統的核心是用戶賬號,用戶對系統中各種對象的訪問許可權取決於他們登錄系統時用的賬戶,並且Linux系統使用特定的配置文件和工具來跟蹤和管理系統中的用戶賬戶。 二、說說配置文件 這裡講述的配置文 ...


一、用戶管理之配置文件的重要性

  在Linux系統中,用戶賬戶的相關信息是存放在相關配置文件中。而Linux安全系統的核心是用戶賬號,用戶對系統中各種對象的訪問許可權取決於他們登錄系統時用的賬戶,並且Linux系統使用特定的配置文件和工具來跟蹤和管理系統中的用戶賬戶。

二、說說配置文件

  這裡講述的配置文件分為用戶配置文件和用戶組配置文件,比如/etc/passwd和/etc/shadow是用戶配置文件,/etc/group和/etc/gshadow是用戶組配置文件。

  (1)首當其衝要講講/etc/passwd文件,該文件位於/etc目錄下。/etc/passwd是一個標準的文本文件,你可以用任何的文本編輯器修改該文件的內容。如果/etc/passwd文件出現損壞,系統就無法讀取它的內容了,這樣會導致用戶無法正常登錄,只用重裝Linux系統解決了。/etc/passwd文件包含了一些與用戶相關的信息,將用戶的登錄名匹配對應的UID值。UID即User ID,擁有創建許可權的用戶創建用戶時會分配唯一的用戶ID,UID是數值但在登錄系統時用的不是UID,而是登錄名。

  如2-1圖所示,/etc/passwd文件的部分信息。每一行就是用戶賬戶的相關信息,每一行包含7個欄位的信息:

    第1個欄位:用戶名稱,即登錄名。

    第2個欄位:密碼標誌。該欄位都被設置成了x,並不是說所有的用戶賬戶都用相同的密碼,這隻是一個密碼標誌而已,用戶有無密碼都會被設置成x。

    第3個欄位:UID,即用戶ID(User ID)。其中0用來標記超級用戶,比如root用戶,如果手動更改某一個用戶的UID為0,那該用戶也會擁有超級用戶的許可權。1-499這個範圍用來標記系統用戶,這些用戶俗稱偽用戶是系統上運行的各種服務進程訪問資源用的特殊賬戶,所有運行在後臺的服務都需要用一個系統用戶賬戶登錄到Linux系統上。500-65535這個範圍用戶來標記普通用戶,比如新創建的用戶的UID值就會在這個範圍內。

    第4個欄位:GID,即用戶組的ID(用戶初始組的ID)。這裡的用戶組分為初始組和附加組,初始組就是指用戶一登錄就立刻擁有這個用戶組的相關許可權,每個用戶的初始組只能有一個,一般就是與這個用戶的用戶名相同的組名作為這個用戶的初始組。附加組就是指用戶可以加入多個其他的用戶組,並擁有這些組的許可權,附加組可以有多個。

    第5個欄位:用戶說明,就是用戶的相關描述。

    第6個欄位:用戶的HOME目錄的位置。普通用戶的HOME目錄一般都是/home/用戶名/這樣的形式,root用戶的HOME目錄是/root/。

    第7個欄位:登錄之後的shell。

    

                                圖 2-1

  (2)其次是/etc/shadow文件位於/etc目錄下,該文件是保存密碼相關信息。只有root用戶才能訪問這個文件,如果root用戶編輯了該文件,有可能被更改的用戶就登錄不上。使用shadow密碼系統後,Linux系統可以更好地控制用戶密碼。它可以控制用戶多久更改一次密碼,以及什麼時候禁用該用戶,如果密碼未更新的話。

  如圖2-2所示,在/etc/shadow文件中,系統為每個用戶都保存了一條記錄,每條記錄都有9個欄位:

    第1個欄位:用戶名,即登錄名。

    第2個欄位:加密之後的密碼,使用SHA512散列加密演算法進行加密。如果密碼欄位位是"!!"或"*"代表沒有密碼,不能登錄。

    第3個欄位:密碼最後一次的修改日期(天數表示),使用1970年1月1日作為標準時間,每過一天時間戳加1。

    第4個欄位:兩次密碼的修改時間間隔(和第3個欄位相比)。

    第5個欄位:密碼有效期(和第3個欄位相比)。

    第6個欄位:密碼到期前的警告天數(和第5個欄位相比)。

    第7個欄位:密碼到期後多少天禁用用戶。

    第8個欄位:用戶被禁用的日期(用天數表示),使用1970年1月1日作為標準時間,每過一天時間加1。

    第9個欄位:預留欄位給將來使用。

    

 

                                 圖 2-2

  (3)用戶組的配置我就不細說了,跟用戶的配置文件大同小異。接下來說說用戶模板目錄/etc/skel/,用戶模板目錄是作為創建新用戶HOME目錄的模板。這樣就能自動在每個新用戶的HOME目錄放置預設的系統文件。


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

-Advertisement-
Play Games
更多相關文章
  • 概述 前面 New UWP Community Toolkit 文章中,我們對 2.2.0 版本的重要更新做了簡單回顧,其中簡單介紹了 Staggered panel,本篇我們結合代碼詳細講解 Staggered panel 的實現。 Staggered panel 是一種交錯排列的面板控制項,允許面 ...
  • 上周需要做一個圖片上傳並且將上傳的圖片線上可以裁剪展示,覺得這個功能很有用,但是找參考資料的時候卻並不是很多,因此來將我用到的總結總結,也讓有需要的博友們直接借鑒。 首先環境介紹: 1、asp.net mvc網站,用到的前端插件是JCrop和Bootstrap-fileinput,在後端用框架自帶的 ...
  • 我將討論一些我認為應該應用於“容器管理”應用程式設計的原則。 模式1:服務字典 字典或關聯數組是我們在軟體工程中學到的第一個構造。 很容易看到使用依賴註入組成對象的字典和IoC容器之間的類比: 未使用容器 使用容器 這兩看起來不同的是: 一些花哨的新術語'Register'和'Resolve'被使用 ...
  • 最近將公司的項目用.netcore重寫, 服務的http外部介面部分收發消息是DES加解密的, 那麼在asp.net core mvc的action處理之前需要加入解密這個步驟. 我第一想到的是用filter的方法來做, 找到了ActionFilter, 重寫了OnActionExecuting方法 ...
  • # 安裝 telnet 避免 ssh 無法登錄 yum -y install xinetd telnet telnet-server yum -y install xinetd telnet telnet-server yum -y install xinetd telnet telnet-serv ...
  • 雙網卡一般情況不能有兩個網關 特別是別設內網網關,這樣有段時間過後會出現訪問不了外網情況 支持兩個網關的方法倒是有 讓雙網卡一臺電腦擁有兩個網關(轉) 首先要聲明一點,雙網卡一臺電腦擁有兩個網關是不可能的,因為預設網關(default gateway)只能是一個。 給伺服器安裝兩塊網卡,分別設置不同 ...
  • 如何統計 Linux 中文件和文件夾/目錄的數量 在本教程中,我們將向您展示如何使用多個命令,並使用 ls、egrep、wc 和 find 命令執行一些高級操作。 下麵的命令將可用在多個方面。 為了實驗,我打算總共創建 7 個文件和 2 個文件夾(5 個常規文件和 2 個隱藏文件)。 下麵的 tre ...
  • shell文件以.sh結尾,這是一種習慣而已。第一行以#! /bin/bash開頭;表示該文件使用的是bash語法; 如果不設置該行,你的shell腳本也可以執行,但是不符合規範。#表示註釋。 # vim first.sh 輸入以下內容 #! /bin/bash date echo "Hello w ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...