Linux用戶身份(命令詳解與補正)

来源:https://www.cnblogs.com/alicetia/archive/2018/07/24/9357841.html
-Advertisement-
Play Games

基於Red Hat Enterprise Linux 7.5 Linux中的root就是存在於所有類UNIX系統中的超級用戶,持有最高管理許可權,能添加/刪除用戶、開關機、關閉或開啟硬體或者系統服務等,並且root的操作無法被阻擋。 Linux中root為什麼叫root,不是因為名字叫root,而是U ...


基於Red Hat Enterprise Linux 7.5


Linux中的root就是存在於所有類UNIX系統中的超級用戶,持有最高管理許可權,能添加/刪除用戶、開關機、關閉或開啟硬體或者系統服務等,並且root的操作無法被阻擋。

Linux中root為什麼叫root,不是因為名字叫root,而是UID為0(在Linux中每一個用戶的UID都是唯一的)

UID為0:系統最高管理員用戶root。

UID為1~999:系統用戶,Linux為了避免某個服務被入侵以至於被提權到整個server,預設服務程式會有獨立的系統用戶負責運行,將入侵破壞的範圍降到最低。

UID為1000~:普通用戶,所有UID大於1000的用戶都是普通用戶,管理員創建的用戶UID都是從1000開始。

 

為了方便管理,Linux增加了GID的概念,即將一個區域或者職權的用戶加入到一個用戶組中,在企業生產環境中能有效管控員工的安全風險問題,避免員工接觸到非自身職權內的數據。

Linux創建用戶的時候會自動創建一個同名用戶組,稱為基本用戶組;如果以後該用戶加入其他用戶組,稱之為拓展用戶組;一個用戶只有一個基本用戶組,但可以擁有多個拓展用戶組

 

常用命令

useradd

用於創建新的用戶,useradd [參數] username

參數

-u:後面接的是UID,即“useradd -u 987 username”(意為創建一個UID為987,名字叫username的用戶)

-e:後見接的是日期,格式為YYYY-MM-DD,即賬號的失效時間,這會寫入shadow的第八個欄位

-g:指定一個初始的基本用戶組(該用戶組必須事先在系統中創建並存在),該組的GID會被放置到/etc/passwd的第四個欄位

-G:指定一個或者多個拓展用戶組(該用戶組必須事先在系統中創建並存在),這個會修改/etc/group內的相關資料

-U:創建一個和用戶同名的組,並將用戶添加到組裡面

-N:不創建與改用戶同名的基本用戶組,而是將用戶添加到-g指定的用戶組裡面

-r:創建一個系統用戶,這個用戶的UID有限制(參考/etc/login.defs)

-s:指定該用戶的預設shell解釋器

-f:後面接shadow的第七欄位項目,密碼過期後,該賬戶被徹底禁用之前的天數,0表示立即禁用,-1表示永不禁用(密碼只會過期但登陸時強制重新設定密碼)

-M:強制不要建立該用戶家目錄(系統賬號預設值)

-m:強制建立改用戶用戶家目錄(一般賬號預設值)

-d:(不使用系統預設值)指定某個目錄成為家目錄,必須為絕對路徑

 

groupadd

用於創建用戶組,groupadd [參數] groupname

參數:

-g:創建的同時給這個group指定GID

-r:創建系統group

 

chage

用於修改賬號和密碼有效期限,chage [參數] username

參數

-l(小寫L):列出該賬號的詳細密碼參數

-d:後面接日期,上一次修改密碼的時間,格式為YYYY-MM-DD

-m:後面接天數,兩次密碼之間間隔的最小天數,即除了root操作的情況下,用戶修改自己的密碼必須間隔的最短時間(如果設定為3,那麼3天內用戶無法自行修改密碼),如果為0表示任何時間都可以修改

-M:後面接天數,兩次密碼之間間隔的最大天數

-W:用戶密碼到期前會接到天數警告

-I(大寫i):後面接天數,密碼失效日期

-E:後面接日期,賬號失效時間,格式為YYYY-MM-DD

 

passwd

用於修改用戶密碼,過期時間、認證信息等,passwd [參數] username

參數:

-l(小寫L):鎖定該用戶密碼,禁止其登陸(root使用su切換到該用戶除外)

-u:解除該用戶密碼鎖定,允許登陸

-S:顯示改用戶密碼是否被鎖定以及密碼的加密演算法

-d:刪除該用戶的密碼,即可以用空密碼登陸

-e:強制該用戶下次登陸時修改密碼

-n:接天數,多少天內不可修改密碼

-x:接天數,多少天內必須修改密碼

-w:警告密碼過期時間

-i:接天數,密碼失效天數

 

usermod

用戶修改用戶的屬性,usermod [參數] username

參數

-c:填寫賬戶的備註信息

-d、-m:-d和-m參數必須連用,指定用戶新的家目錄並將原有家目錄數據轉移至新目錄(-d是指定目錄,-m是移動文件)

-g:變更所屬用戶組(該用戶組必須事先在系統中創建並存在)

-G:變更拓展用戶組(多個組之間用逗號隔開,沒有空格)註意:如果該用戶本身在一個組裡面(假定為group9),但-G後接參數group1,group2,group3......內沒有該組,那麼該用戶就會從該組(group9)裡面刪除,可以使用-a參數避免這個問題(-a參數是添加,如果不加-a那麼就是設定)

-a:將用戶添加到拓展用戶組中,該參數必須和-G連用,但不是-G的必要參數

-f:密碼過期之後,賬戶被徹底禁用前的天數

-e:後接日期,賬戶被徹底禁用的時間,格式為YYYY-MM-DD

-L:鎖定用戶禁止其登陸

-U:解鎖用戶並允許其登陸

-s:變更預設shell,如果為空即為系統預設登陸shell

-l(小寫L):修改用戶名

-u:修改該用戶的UID

-o:-u的可選參數,-o可以使得-u修改的UID可以是非唯一值(非負值)

 

userdel

用於刪除用戶,userdel [參數] username

參數

-f:強制刪除用戶賬戶,即使該賬戶目前仍處於登陸狀態,將強制刪除用戶郵箱以及家目錄,即使其他用戶也在瀏覽使用該用戶的郵箱和家目錄;如果/etc/login.defs中的USERGROUP_ENAB為yes,那麼如果有與該用戶同名的組也一併刪除,即使是其他用戶的基本組。該參數危險性極高,甚至可能將破壞系統穩定性

-r:用戶家目錄中的文件將隨著用戶家目錄和用戶郵箱一起刪除,其他位置的文件需要手動搜索並刪除,該賬戶的郵箱在login.defs中的MAIL_DIR中有定義。


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

-Advertisement-
Play Games
更多相關文章
  • 三大結構 順序 分支 迴圈 三大結構 順序 分支 迴圈 三大結構 順序 分支 迴圈 三大結構 順序 分支 迴圈 三大結構 順序 分支 迴圈 三大結構 順序 分支 迴圈 三大結構 順序 分支 迴圈 三大結構 順序 分支 迴圈 三大結構 順序 分支 迴圈 分支 分支的基本語法 if 條件表達式: 語句1 ...
  • 本篇文章主要介紹委托的應用。 委托是大家最常見的語法了,但會用與精通之間的差距是巨大的。 一個程式員如果不能精通委托,那麼,他永遠無法成為高級程式員。 所以,讓我們把委托刻到血液里吧。 這樣,你才能稱為Developer。 ...
  • --> public class OtherConfigInfo : ConfigurationSection { /// /// 獲取配置信息 /// /// public static OtherConfigInfo GetConfig() { ... ...
  • 最近比較忙,博客很久沒更新了,很多博友問何時更新博文,因此,今天就花了點時間,寫了本篇文章,但願大家喜歡。 本篇文章不適合初學者,需要對ASP.NET MVC具有一定基礎。 本篇文章主要從ASP.NET MVC 基架角度去分析MVC框架是如何實現資源過濾,資源授權,感興趣的,歡迎閱讀。 相關文章,請 ...
  • 本篇介紹異常處理的知識。由於異常處理的技術應用並不複雜,本篇更多討論異常處理的一些理論知識,包括一些原則、約定和建議。 ...
  • 一、前言 畢業後入職現在的公司快有一個月了,公司主要的產品用的是C/S架構,再加上自己現在還在學習維護很老的delphi項目,還是有很多不情願的。之前實習時主要是做.NET的B/S架構的項目,主要還是用的那種傳統的開發模式,只有一個項目用到了Web API,自己負責後端的介面功能實現。既然現在沒辦法 ...
  • 直接上案例: 在Web Api通訊中,客戶端發送json數據,服務端反序列化json(json與某個類形成對應關係),在某些情況下,需要校驗其上傳的json是否合法。 服務端是使用Json.net(newtonsoft.json)進行反序列化。一般我們反序列化json為對象時代碼如下: json原型 ...
  • 決定認真從零開始寫一個Linux的學習過程,像我這麼偷懶的人能寫文字記錄已經很不容易了,希望不要半途而廢吧(拖走) 用多了Linux其實發現,要是哪天Linux和Windows能結合下就好了,簡單粗暴的Linux命令行加上Windows萬能的UI以及相容才是夢想中的系統啊,瓶瓶罐罐的東西真是討厭~~ ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...