6-Linux操作系統 用戶與用戶組

来源:https://www.cnblogs.com/ljygzyblog/archive/2023/09/28/Linux_6.html
-Advertisement-
Play Games

一、介紹說明 Linux系統是一個多用戶多任務的操作系統,任何一個要使用系統資源的用戶,都必須首先向系統管理員申請一個賬號,然後以這個賬號的身份進入系統。 用戶的賬號一方面可以幫助系統管理員對使用系統的用戶進行跟蹤,並控制他們對系統資源的訪問;另一方面也可以幫助用戶組織文件,併為用戶提供安全性保護。 ...


一、介紹說明

  Linux系統是一個多用戶多任務的操作系統,任何一個要使用系統資源的用戶,都必須首先向系統管理員申請一個賬號,然後以這個賬號的身份進入系統。

  用戶的賬號一方面可以幫助系統管理員對使用系統的用戶進行跟蹤,並控制他們對系統資源的訪問;另一方面也可以幫助用戶組織文件,併為用戶提供安全性保護。

  每個用戶賬號都擁有一個唯一的用戶名和各自的密碼。

  用戶在登錄時鍵入正確的用戶名和密碼後,就能夠進入系統和自己的主目錄。

  要想實現用戶賬號的管理,要完成的工作主要有如下幾個方面:

  用戶賬號的添加、刪除、修改以及用戶密碼的管理。

  用戶組的管理(添加、刪除、修改)。

註意三個文件:

  /etc/passwd 存儲用戶的關鍵信息

  /etc/group 存儲用戶組的關鍵信息

  /etc/shadow 存儲用戶的密碼信息

說明:

  在Linux系統中,用戶和用戶組是極其重要的概念。每次登錄系統都必須以一個用戶的身份登錄,並且登錄後的許可權也會根據用戶身份來確定。每個用戶在都有一個初始用

戶組,表現為/etc/passwd的第4欄的GID。

  用戶組是具有相似屬性的用戶的集合,可以是一組用戶,也可以是一個用戶。在Linux系統中,每個用戶都屬於一個用戶組,這個用戶組就稱為初始用戶組。此外,Linux系

統中還存在一種虛擬用戶,也稱為“偽”用戶,這類系統用戶不能登錄系統。

  總的來說,Linux系統中的每一個目錄、文件,都會有其屬於的用戶和用戶組,我們稱其為屬主和屬組。Linux系統就是通過UID和GID來對用戶和組進行管理的。

     

二、用戶管理

①添加用戶

語法:#useradd 選項 用戶名

常用選項:

-g:表示指定用戶的用戶(主要)組,選項的值可以是用戶組的id,也可以是組名

Useradd -g zhang -G -c 這是一個普通用戶 臨時創建的

-G:表示指定用戶的用戶附加(額外)組,選項的值可以是用戶組的id,也可以是組名

-u:uid,用戶的id(用戶的標識符),系統預設會從之後按順序分配uid,如果不想使用系統分配的,可以通過該選項自定義【類似於騰訊QQ的自選靚號情況】

-c:comment,添加註釋(選擇是否添加)

-s:指定用戶登入後所使用的shell 解釋器 【專門的接待員】

-d:指定用戶登入時的啟始目錄(家目錄位置)

-n:取消建立以用戶名稱為名的群組(瞭解)

案例:創建用戶yunhe ,並驗證a./etc/passwd b. ls /home c.id yunhe

認識passwd文件(拓展)

用戶名:密碼:用戶ID:用戶組ID:註釋:家目錄:解釋器shell

用戶名:創建新用戶名稱,後期登錄的時候需要輸入;

密碼:此密碼位置一般情況都是“x”,表示密碼的占位

用戶ID:用戶的識別符;【-u】

用戶組ID:該用戶所屬的組ID;【-g】

註釋:解釋該用戶是做什麼用的;【-c】

家目錄:用戶登錄進入系統之後預設的位置;【-d】

解釋器shell:等待用戶進入系統之後,用戶輸入指令之後,該解釋器會收集用戶輸入的指令,傳遞給內核處理;【如果解釋器是/bin/bash表示用戶可以登錄到統,/sbin/nologin表示該用戶不能登錄到系統】【-s】

註意:在不添加選項的時候,執行useradd之後會執行一系列的操作

a. 創建同名的家目錄;

b. 創建同名的用戶組;

案例:添加選項,創建用戶guo,讓guo屬於1000主組,自選靚號1066,並且要求不能登錄到系統,

驗證是否創建成功:

註意:查看用戶的主組可以查看passwd文件,查看附加組可以查看group文件。

guozhengyuan行的含義:在guozhengyuan的組裡(組id是)有一個組內用戶guo(guo的附加組就是,附加組的名字是guo)。

如果需要為一個用戶指定多個附加組,只需要將多個附件組的id通過英文逗號“,”分割即可。

【主組只能有1個(類似於親生父母只有一對),附加組可以多個,也可以沒有附加組(類似於認乾爹乾媽,可以有也可以沒有,也可以有多個)】

【主組必須有】

【文檔的屬組指的是主組】

②修改用戶

語法:#usermod 選項 用戶名

Usermod:user modify,用戶修改

常用選項:

-g:表示指定用戶的用戶主組,選項的值可以是用戶組的id,也可以是組名、

-G:表示指定用戶的用戶附加組,選項的值可以是用戶組的id,也可以是組名

-u:uid,用戶的id(用戶的標識符),系統預設會從之後按順序分配uid,如果不想使用系統分配的,可以通過該選項自定義【類似於騰訊QQ的自選靚號情況】

-l:修改用戶名

-c<備註>:修改用戶帳號的備註文字

-d<登入目錄>:修改用戶登入時的目錄

-s<shell>:修改用戶登入後所使用的shell

案例:修改guo用戶主組為1000,附加組改為1001

#usermod -g 1000 -G 1001 guo

案例:修改guo用戶用戶名,改為yuan

usermod -l yuan guo

③設置密碼

Linux不允許沒有密碼的用戶登錄到系統,因此前面創建的用戶目前都處於鎖定狀態,需要設置密碼之後才能登錄電腦。

語法:#passwd [用戶名] 【如果不指定用戶名則修改自己的密碼】

案例:設置zhangsan用戶的密碼

#passwd zhangsan

在設置密碼的時候也是沒有任何輸入提示的,放心輸入,確保兩次輸入的密碼一致,按下回車即可。

也可以使用弱密碼,但是不建議,否則會看到以下的提示:

設置密碼之後shadow文件中的體現:能夠看出lisi用戶沒有密碼的。

在設置用戶密碼之後可以登錄帳號,例如此處需要登錄wangerma

切換用戶命令:#su [用戶名] (switch user)

如果用戶名不指定則表示切換到root用戶。

切換用戶需要註意的事項:

a. 從root往普通用戶切換不需要密碼,但是反之則需要root密碼;

b. 切換用戶之後前後的工作路徑是不變的;

c. 普通用戶沒有辦法訪問root用戶家目錄,但是反之則可以;

④刪除用戶

語法:#userdel 選項 用戶名

Userdel:user delete(用戶刪除)

常用選項:

-r:表示刪除用戶的同時,刪除其家目錄;

案例:刪除guo用戶

#userdel -r guo

註意:已經登錄的wangerma用戶刪除的時候提示刪除失敗,但是沒有登錄的lisi用戶可以正常刪除

解決辦法:簡單粗暴,kill對應用戶的全部進程

提示:所有跟用戶操作的命令(除passwd外,只能修改自己的密碼,即不指定用戶名)只有root超級管理員有許可權執行。

備註:也可以在登錄需要刪除的用戶之後,按下快捷鍵“ctrl+d”進行對當前用戶的註銷,隨後退回到上一個用戶(root)此時就可以對需要刪除的用戶進行刪除操作。

三、用戶組的管理

  每個用戶都有一個用戶組,系統可以對一個用戶組中的所有用戶進行集中管理。不同Linux 系統對用戶組的規定有所不同,如Linux下的用戶屬於與它同名的用戶組,這個

用戶組在創建用戶時同時創建

  用戶組的管理涉及用戶組的添加、刪除和修改。組的增加、刪除和修改實際上就是對/etc/group文件的更新。

文件結構:

  用戶組名:密碼:用戶組ID:組內用戶名[看附加組的]

密碼:X表示占位符,雖然用戶組可以設置密碼,但是絕大部分的情況下不設置密碼;

組內用戶名:表示附加組是該組的用戶名稱;

①用戶組添加

語法:#groupadd 選項 用戶組名

常用選項:

-g:類似用戶添加里的“-u”,-g表示選擇自己設置一個自定義的用戶組ID數字,如果自己不指定,則預設從1000之後遞增;

案例:使用groupadd指令創建一個新的用戶組,命名為admins

#groupadd admins

②用戶組編輯

語法:#groupmod 選項 用戶組名

常用選項:

-g:類似用戶修改里的“-u”,-g表示選擇自己設置一個自定義的用戶組ID數字

-n:類似於用戶修改“-l”,表示設置新的用戶組的名稱

案例:修改admins用戶組,將組ID改成1212,將名稱改為admin123

③用戶組刪除

語法:#groupdel 用戶組名

案例:刪除admin組

#groupdel admin

註意:當如果需要刪除一個組,但是這個組是某個用戶的主組,則不允許刪除(附加組是可以的);如果確實需要刪除,則先從組內移出所有用戶。

提示

針對用戶和用戶組的管理指令,除了passwd指令之外,其他指令一般情況下只有root用戶可以執行。

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

-Advertisement-
Play Games
更多相關文章
  • 前提 已經創建並編寫好了windows服務程式,且下載了Microsoft Visual Studio Installer Project插件。 創建windows服務程式的參考鏈接:https://blog.csdn.net/xiketangAndy/article/details/1268518 ...
  • [QuickApi("hello/world")] public class MyApi : BaseQuickApi<Req,Rsp>{} 使用方式 : dotnet add package Biwen.QuickApi dotnet add package Biwen.QuickApi.Sour ...
  • 在項目中我們經常會使用到委托,委托是多播的,如果控制不好反覆註冊就會多次觸發,可以使用委托的單例模式去註冊,這樣可以避免多次觸發問題。 下麵是幾種委托實例代碼: 帶參數委托管理: /// <summary> /// 帶參數的委托管理 /// </summary> public class Actio ...
  • Word中的圖表功能將數據可視化地呈現在文檔中。這為展示數據和進行數據分析提供了一種方便且易於使用的工具,使作者能夠以直觀的方式傳達信息。要通過C#代碼來實現在Word中繪製圖表,可以藉助 Spire.Doc for .NET 控制項,具體操作參考下文。 C# 在Word中插入柱狀圖 C# 在Word ...
  • https://www.codenong.com/cs106719464/ WinForm中的UI假死其實是個老生常談的問題了,但最近還是很多人問我該如何解決,所以今天就來說明一下如何解決UI假死的問題。實驗程式界面如下圖所示: 方法一:async + await + Task 首先看下麵一段代碼: ...
  • C# BeginInvoke實現非同步編程-CSDN博客 https://blog.csdn.net/Nire_Yeyu/article/details/133203267 C# BeginInvoke實現非同步編程BeginInvoke實現非同步編程的三種模式: 1.等待模式在發起了非同步方法以及做了一些 ...
  • 模擬.NET實際應用場景,綜合應用三個主要知識點:一是使用dnSpy反編譯第三庫及調試,二是使用Lib.Harmony庫實現第三庫攔截、偽造,三是實現同一個庫支持多版本同時引用。 ...
  • 問題現象: 使用伺服器管理器打開本地安全策略,或使用win+R快捷鍵,輸入gpedit.msc打開系統組策略時,出現報錯:無法打開此電腦上的組策略對象。你可能沒有相應的許可權。 解決方法: 1、使用win+E快捷鍵打開資源管理器,點擊”查看“,勾選”隱藏的項目“,因為C:\Windows\Syste ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...