linux基礎之用戶及組管理

来源:https://www.cnblogs.com/lanxiansen/archive/2019/03/04/10472560.html
-Advertisement-
Play Games

linux基礎之用戶及組管理 1、前序 對有限區域內,有限資源的合規使用的3A標準 Authentication:認證 相當於拿到了一個登錄linux的賬號,這叫認證了,但是這不表明拿到一個賬號你就能為所欲為,還需要進行授權 Authorization:授權 任何一個系統,認證完以後都有系統指派的一 ...


linux基礎之用戶及組管理

1、前序

對有限區域內,有限資源的合規使用的3A標準

  Authentication:認證   

    相當於拿到了一個登錄linux的賬號,這叫認證了,但是這不表明拿到一個賬號你就能為所欲為,還需要進行授權

  Authorization:授權

    任何一個系統,認證完以後都有系統指派的一些許可權供這個賬號使用。linux怎麼完成用戶輸入賬號密碼認證成功後怎麼能夠完成資源獲取呢?事實上,linux的哲學思想是一切皆文件,當用戶成功登陸linux主機,一切以這個用戶為屬主的文件,他應該就具備屬主訪問的許可權

  組是能夠將用戶和許可權建立關係的一個容器,他可以接受授權,同時也可以接受用戶的加入。從而能夠將許可權與多個用戶建立起相應關係。

  Accounting:審計

    Audition

  linux用戶分類:用戶具有用戶名+UID組成

    管理員:root   UID0

    普通用戶:USERNAME  UID範圍1-65535

      系統用戶:UID範圍是1-499

      登錄用戶:UID安慰是500以上

        這兩者的區別:系統用戶主要為系統的守護類進程獲取系統資源而完成許可權分配。登錄用戶主要是為了互動式登錄

  linux的組分類:組由組名+GID組成,組是一個容器,組主要作用:將多個用戶與某一類許可權建立關係,實現許可權指派的另一種方式

    管理員組:組名為root  GID0

    普通組:

      系統組:組GID範圍1-499

      普通組:組GID範圍500以上

  linux安全上下文

    我們對電腦的操作,其實是運行程式來完成的,我們叫做進程。進程的運行是以發起者的身份運行,一個發起者具有什麼許可權,那麼他執行的命令就具有什麼許可權,即發起者的許可權決定了命令的許可權

  linux組的類別:(站在用戶所屬組的類別來講)

    用戶基本組,也稱為主組

      組名通與用戶名相同,且僅包含一個用戶,成為私有組

    用戶的附加組,也稱為額外組

 

  linux用戶和組相關的配置文件

    /etc/passwd:保存用戶及其相關屬性信息(名稱、UID、基本組ID等等)

    /etc/group:組及其屬性信息

    /etc/shadow:用戶密碼及其相關屬性

    /etc/gshadow:組密碼及其相關屬性 

 

  /etc/passwd內容解釋

    name:password:UID:GID:GECOS:DIRECTORY:shell 這段內容對應為的解釋:

    用戶名:密碼:UID:GID:用戶的完整信息(用戶電話、地址等信息):主目錄:預設shell

  /etc/group內容解釋

    group_name:password:GID:User_list這段內容解釋:

      組名:組密碼:GID:以當前組委附加組的用戶列表(每個以逗號分隔)

  /etc/shadow內容解釋

    jerry:$6$rVNi9i5.$1yyPBDswYy1vw2eyHOq5wnmQU6wXo56bowYbOgoo/ZReAtuZXnekl4oWE1l3OGnEsBzq.yYfPTU8Ci7QXIuMl1:17959:0:99999:7:::

    用戶名:加密了的密碼:最近一次更改密碼的日期:密碼的最小使用期限:密碼的最大使用期限:密碼的警告時間段:密碼寬限期:賬號的過期日期

    註意:最近一次更改密碼的日期是一個相對時長,是相對於linux誕生到你上一次修改密碼的天數

      密碼的最小使用期限如果為0,表示你可以改了密碼再改密碼

      密碼的最大使用期限如果99999,表示你的賬戶永久有效

 

    加密機制(明文轉化為密文)

      單向加密:提取數據指紋(指紋叫做微特征碼,只要有一個改變,那麼整個加密後的字元串發生重大改變,這個效應也叫雪崩效應。但是這些演算法加密不同長度的明文,它的輸出結果長度是一樣的,這叫定長輸出)

 

    linux上的加密演算法

      md5message  digest中文名叫消息摘要,輸出結果是128bit

      sha1secure  hash  algorihm 中文叫安全的hash演算法,輸出結果是160bit

      sha224secure  hash  algorihm 中文叫安全的hash演算法,輸出結果是224bit

      sha386secure  hash  algorihm 中文叫安全的hash演算法,輸出結果是386bit

      sha512secure  hash  algorihm 中文叫安全的hash演算法,輸出結果是512bit

    linux各個演算法對應的命令

      md5sum

      ha1sum  

      sha224sum  

      sha256sum  

      sha384sum  

      sha512sum

    加密:明文轉化為密文

    解密:密文轉化為明文

 

  關於linux6.7密碼內容解釋

    $6$0TYPpFIXKw/73xmT$Z3N457EIbNjEl9KbiMLl/xSkYNIQOuqPY22myoeKJyWYAhH/bNGj8uLx9SCnOSSB6gvo7r3mCBiNAzF6GvmaC1

      這個密碼分為三個欄位內容,每個欄位內容用$符號隔開,第一分欄位表示使用的加密方式,6表示使用的sha512演算法加密,第二個欄位表示為密碼添加的雜質。為什麼要添加雜質呢?為了避免兩個用戶輸入了同一個密碼後加密的內容相同,目的是混淆視聽。第三個欄位才是真正的密碼

 

  密碼的複雜性策略

    1、使用數字、大小寫字母、及特殊字母至少3

    2、足夠長

    3、使用隨機密碼

    4、定期更換密碼,不使用最近曾使用過的密碼

 

2、useradd命令

基本介紹

  增加一個用戶或者更新一個用戶的信息

基本語法

        useradd [options] LOGIN

        useradd -D

        useradd -D [options]

常用選項

  -u  UID:手動指定用戶的UID。在linux6.xUID最小不低於500,最大不超過60000,在linux7.xUID最小不低於1000,最大不超過60000。而這個最小最大不超過那個值是在/etc/login.defs文件中定義的

  -g  GID|Gname:指明用戶所屬基本組,-g選項後面可以接組名或者也可以接GID

  -c  str:指明用戶的一些基本的描述,str就表示基本的描述

  -d  path:指明用戶的家目錄,path為家目錄路徑。可以不指定,不指定則為/home+用戶名組成家目錄,比如,oldboy用戶,不指定家目錄,則預設是/home/oldboy

註意:如果這個路徑已經存在,即家目錄已經存在,那麼創建用戶指定這個已經存在的目錄為家目錄時,不會從/etc/skel拷貝任何文件。不拷貝任何文件意味著,當我們使用su命令切換到這個用戶上的時候,不能夠正常顯示,因為這個/etc/skel文件包含一些環境變數值的定義

  -s  shell:指定用戶的預設shell

  -m:創建用戶的家目錄

  -M:不創建用戶的家目錄

  -r:創建系統用戶

    CentOS6.x的系統用戶UID小於500

    CentOS7.x的系統用戶UID小於1000

  -p  password:創建用戶並且給定密碼(不推薦使用,因為在歷史記錄中間存在這條記錄)

  -G  GID|GnameGID|GnameGID|Gname...:指定用戶的附加組,可以指定多個,每個用逗號隔開,但是這些組必須事先存在

  -f  num:修改賬戶徹底禁用的寬限時間

  -e  datetime:修改賬戶過期時間

  -D:修改創建用戶使用的預設值,創建用戶使用的預設值定義在/etc/default/useradd文件中,修改也是修改這個文件的值。但是這個選項要結合其它選項一起使用,如下:

  -s  shell:修改預設shell

  -f  num:修改預設賬戶過期的寬限時間

  -e  num:修改預設賬戶過期時間

  -b  path:修改預設家目錄

  -g  Gname:修改預設用戶的基本組

3、groupadd命令

基本介紹

  創建一個組

基本語法

  groupadd  [options]  groupName

常用選項

  -g  num:手動指定組的GID

  -r:創建一個系統組

    CentOS6.x的系統GID小於500

    CentOS7.x的系統GID小於1000

4、id命令

基本介紹

  列印有效用戶或者組的id

基本語法

  id  [OPTION]...  [USERNAME]

常用選項

  -u:顯示用戶的UID

  -g:顯示用戶的基本組

  -G:顯示用戶所有的組包括基本組和附加組

  -n:顯示組或者用戶的名字,這個選項要結合-u-g-G選項使用

 

5、su命令

基本介紹

  切換用戶或者以其他用戶身份執行命令

基本語法

  su  [OPTION]...  [-]  [USER [ARG]...]

常用選項

  -c  COMMAND:切換身份執行命令。命令執行結束回到原來的用戶下

    案例演示

      su  -c “cat  /etc/fstab”  -  odloy

  -l:切換登錄的意思,這個選項與 ---login用法一致

    su   -  oldboy  與  su  -l  oldboy  與  su  --login  oldboy是一樣的

  -s  shell:切換到目標用戶以後使用指定的shell,而不是使用目標用戶的預設shell

 

  su命令切換用戶的方式

    su   username:非登錄式切換,不會載入目標用戶即這裡的username的配置文件

    su  -  username:登錄式切換,會載入目標用戶即這裡的username的配置文件,這個也叫完全切換

    註意:管理員切換至其他用戶無需密碼,其他用戶切換時需要密碼

6、usermod命令

基本介紹

  修改用戶賬戶信息

基本語法

  usermod  [options]  LOGIN

常用選項

  -u  New_UID:修改原來的UID,修改為New_UID

  -g  New_GID|New_name:修改原來的基本組,修改為New_GID或者New_name

  -G  Group1[,Group2,.....[,Groupn]]:修改附加組,原來的附加組會被新的附加組覆蓋,若想保留原來的附加組聯合使用-a選項

  -s  shell:修改用戶的預設shell

  -c  new_comment:修改用戶的註釋或者基本描述信息

  -e  date:修改賬戶過期時間,date的格式YYYY-MM-DD,它會自動換算

  -f  days:修改賬戶警用的寬限時間

  -d  path:修改用戶的家目錄為path

  註意:預設原來的家目錄下麵的文件不會同時移動至新的家目錄下。如果要移動,則使用-m選項

  -l  login_name:修改的登錄名

  -Llock鎖定指定用戶

    這個有什麼現象呢?

      當我們鎖定一個用戶時,會在/etc/shadow文件中的密碼欄位前面加一個感嘆號。鎖定以後的用戶沒法切換也沒法登錄,但是管理員可以切換過去

  -Uunlock解除鎖定

7、passwd命令

基本介紹

  給用戶添加密碼

基本語法

  passwd  [-k]  [-l] [-u [-f]] [-d] [-e] [-n min-

       days] [-x maxdays] [-w warndays] [-i  inactive-

       days] [-S] [--stdin] [username]

常用選項

  -l:鎖定指定用戶

  -u:解鎖指定用戶

  -n  days:你的密碼最短使用期限

-x  days:你的密碼最大使用期限

案例演示

[root@oldboy ~]# tail -n 1 /etc/shadow

www:!!:17959:0:99999:7:::

[root@oldboy ~]# passwd -x 10 www

Adjusting aging data for user www.

passwd: Success

[root@oldboy ~]# tail -n 1 /etc/shadow

www:!!:17959:0:10:7:::

  -e  days:設置密碼過期時間

  -d:刪除密碼

  --stdin:從標準輸入接受用戶密碼

案例演示

[root@oldboy ~]# echo 123|passwd --stdin www

Changing password for user www.

passwd: all authentication tokens updated successfully.  

使用註意

  如果一個賬戶沒有設置密碼,那麼他自己沒法改密碼,只能通過管理員添加密碼後你在修改。同時如果普通用戶設置密碼沒有滿足linux設置密碼的策略,那麼不會設置成功

 未完,待續....

 

 

 

 

 

 

 

 

 

 

 

 

 


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

-Advertisement-
Play Games
更多相關文章
  • 關於Asp.Net的生命周期的文章,很多很多,不管是管道生命周期,還是頁面生命周期,圖文並茂的文章並不少,我就不說了,我只是在複習這些知識點的時候,想具體知道一個頁面的Page_Load方法到底是怎麼被調用,被執行的,為什麼訪問一個網址,就可以直接在Page_Load中斷點調試了。所以,寫了幾句代碼 ...
  • vscode近來深受的開發人員的喜愛。在下的前端同事們也紛紛使用vscode。在下就想了我等後端程式員也可以用vscode寫C#代碼。畢竟是從宇宙第一IDE Visual Studio衍生的不是。 就先從控制台開始。 1.首先要安裝.net core sdk https://www.microsof ...
  • 生產環境中我們往往會遇到以多個郵箱別名結尾的情況,如何快速導出當前域用戶郵箱以某欄位或尾碼結尾的用戶列表信息變得尤為重要,本例簡單彙總下如何通過Powershell快速篩選出當前郵箱信息包含azureyun.com的用戶列表並導出。實例如下:Get-ADUser -Filter * -SearchB... ...
  • 小技巧一例,批量刪除Visual Studio code或notepad++註解信息,便於讀取有效代碼或文本信息,具體操作如下:Visual Studio Code批量刪除註解行信息:在VS Code中我們可以通過Ctrl+h快捷鍵調出替換界面,在替換查找界面輸入空行對應的正則表達式^#.*並Alt... ...
  • 查看路由表 永久添加路由 重啟網路生效 ...
  • Windows 下Filebeat排錯Case實例一份,請查收。問題描述:Windows Server下Filebeat Agent服務無法正常啟動,導致網路數據打點無法正常進行,影響大範圍用戶網路使用等;報錯信息如下:查看對應log文件,日誌信息如下:2019-03-04T11:38:14+08:... ...
  • 協議 可理解為規則,是數據傳輸和數據解釋的規則。 TCP協議註重數據的傳輸,http協議註重數據的解釋 傳輸層:常見協議有TCP/UDP協議 應用層:常見協議有HTTP協議,FTP協議。 網路層:常見協議有ARP協議,RARP協議。 網路介面層:常見協議有ARP協議,RAPP協議。 HTTP 超文本 ...
  • windows防火牆實驗-設置遠程桌面連接以及禁止瀏覽器上網 實驗環境: 1.win2008遠程桌面服務 2.win7-1 10.10.10.136 3.win7-2 10.10.10.153 實驗步驟: 一、設置防火牆規則關於遠程桌面連接的 1.關閉防火牆中遠程桌面的規則 #或者直接在現有的遠程桌 ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...