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
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...