useradd命令詳解(轉)

来源:https://www.cnblogs.com/wscsq789/archive/2019/11/17/11875471.html
-Advertisement-
Play Games

1.作用 useradd或adduser命令用來建立用戶帳號和創建用戶的起始目錄,使用許可權是超級用戶。 2.格式 useradd [-d home] [-s shell] [-c comment] [-m [-k template]] [-f inactive] [-e expire ] [-p p ...


1.作用

useradd或adduser命令用來建立用戶帳號和創建用戶的起始目錄,使用許可權是超級用戶。

  2.格式

  useradd [-d home] [-s shell] [-c comment] [-m [-k template]] [-f inactive] [-e expire ] [-p passwd] [-r] name

3.主要參數

  -c:加上備註文字,備註文字保存在passwd的備註欄中。

  -d:指定用戶登入時的主目錄,替換系統預設值/home/<用戶名>

  -D:變更預設值。

  -e:指定賬號的失效日期,日期格式為MM/DD/YY,例如06/30/12。預設表示永久有效。

  -f:指定在密碼過期後多少天即關閉該賬號。如果為0賬號立即被停用;如果為-1則賬號一直可用。預設值為-1.

  -g:指定用戶所屬的群組。值可以使組名也可以是GID。用戶組必須已經存在的,期預設值為100,即users。

  -G:指定用戶所屬的附加群組。

  -m:自動建立用戶的登入目錄。

  -M:不要自動建立用戶的登入目錄。

  -n:取消建立以用戶名稱為名的群組。

  -r:建立系統賬號。

  -s:指定用戶登入後所使用的shell。預設值為/bin/bash。

  -u:指定用戶ID號。該值在系統中必須是唯一的。0~499預設是保留給系統用戶賬號使用的,所以該值必須大於499。

4.說明

  useradd可用來建立用戶賬號,它和adduser命令是相同的。賬號建好之後,再用passwd設定賬號的密碼。使用useradd命令所建立的賬號,實際上是保存在/etc/passwd文本文件中。

5.應用實例

建立一個新用戶賬戶testuser1,並設置UID為544,主目錄為/usr/testuser1,屬於users組:

 代碼如下 複製代碼

  #useradd -u 544 -d /usr/testuser1  -g users -m  testuser1


加-m 如果主目錄不存在則自動創建


6.例

使用管理員賬號登陸系統,建立用戶tmp_3452 密碼3sdt5:Eawhg

添加用戶命令:

 代碼如下 複製代碼

[root@ptr228 ~]# adduser tmp_3452

修改密碼命令:

[root@ptr228 ~]# passwd tmp_3452

在系統出現提示輸入密碼是輸入密碼:3sdt5:Eawhg 系統提示輸入確認密碼後再輸入一次。OK添加成功。


7.useradd批量添加用戶

使用useradd時,如果後面不添加任何參數選項,例如:#sudo useradd test創建出來的用戶將是預設“三無”用戶:一無Home Directory,二無密碼,三無系統Shell。

步驟如下:

(1)建立用戶名列表文件username.txt (同上)

(2)創建用戶密碼對應文件serc.txt,格式為username:password (註意文件的格式)   

 代碼如下 複製代碼
stu1:tt1
stu2:tt2
stu3:tt3
stu4:tt4
stu5:tt5
stu6:tt6  

 

(3)批量添加的腳本文件aa.sh

 代碼如下 複製代碼

##添加用戶,並且在/home/ 下為用戶生成用戶目錄。cat < username.txt | xargs -n 1 useradd -m##批處理模式下更新密碼
chpasswd < serc.txt##將上述的密碼轉換到密碼文件和組文件
pwconv##結束驗證信息
echo "OK 新建完成"(4)執行該腳本文件,查看執行過程

root@liu:/home/liu/Desktop/Dos# sh aa.sh

新建完成         useradd命令,在執行沒有出錯的情況下,不會輸出任何的信息,不會與用戶交互。但是用戶必須要記住那些設置項目,否則添加的用戶可能出現一些預想不到的結果。

 

8.新創建一個oracle用戶,這初始屬於oinstall組,且同時讓他也屬於dba組。

#useradd oracle -g oinstall -G dba

新創建一個oracle用戶,這初始屬於oinstall組,且同時讓他也屬於dba組。

 

9.無法使用shell,且其用戶目錄至/var/servlet/service

#useradd tomcat  -d /var/servlet/service -s /sbin/nologin

無法使用shell,且其用戶目錄至/var/servlet/service


二,userdel刪除用戶

刪除剛創建的賬號 tmp_3452

刪除用戶命令:

 代碼如下 複製代碼
[root@ptr228 ~]# userdel tmp_3452

或者連同用戶目錄一併刪除:

 代碼如下 複製代碼

[root@ptr228 ~]# userdel -f tmp_3452

註意:這裡如果用戶還在登陸的話,會提示,用戶正在登陸無法刪除。此時可能需要先強制用戶退出。

3. 強制退出已經登陸用戶

查看當前登陸用戶的命令:

 代碼如下 複製代碼

[root@ptr228 ~]# w

會輸入如下結果:

 代碼如下 複製代碼

 12:10:27 up 21:13,  1 user,  load average: 0.00, 0.01, 0.08
USER          TTY      FROM                 LOGIN@   IDLE   JCPU   PCPU WHAT
root            pts/0    ***.**.***.**    11:33    0.00s  0.08s  0.00s   w
tmp_3254  ps1       ***.**.***.**     11:33    0.00s  0.08s  0.00s   ls

這裡知道了登陸用戶的tty是ps1執行強制退出命令pkill:

命令原型: pkill -kill -t [TTY]

 代碼如下 複製代碼

[root@ptr228 ~]# pkill -kill -t ps1

執行之後再執行名w 可以看到用戶已經退出。

重覆執行第二步的刪除用戶命令,刪除成功。


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

-Advertisement-
Play Games
更多相關文章
  • 需通過SSH或VNC遠程登錄 1)SSH ①把讀卡器插入電腦,點開樹莓派所在的boot盤,新建wpa_supplicant.conf文件 ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev network={ ssid=WiFi賬號1" p ...
  • 系統環境:Ubuntu16.04(Docker容器) 架構環境: Keepalived/HAproxy MASTER: 172.17.0.4 Keepalived/HAproxy BACKUP: 172.17.0.6 MySQL MASTER: 172.17.0.2 MySQL SLAVE: 172 ...
  • 1.安裝MySQL(沒有特殊說明的就按照預設安裝)選擇 Custom 自定義安裝點擊"Change"更改 MySQL 安裝目錄(自定義)其他按照預設的下一步就可以安裝完成後會自動跳轉到設置界面,選擇 Detailed Configuration 進行詳細配置選擇 MySQL 運行模式:Server ...
  • 一、目錄操作命令 1. cd 路徑 #目錄跳轉 2. mkdir 目錄名 #目錄跳轉 選項 -p 遞歸創建 3.du -sh 目錄名 #查看目錄使用情況 4.rm dir #刪除一個目錄(空目錄) 5.rm -rf 文件名 #刪除文件和目錄 6.ls -l #顯示目錄下文件詳細信息,不包括隱藏文件 ...
  • 系統信息相關命令¶ 本節內容主要是為了方便通過遠程終端維護伺服器時,查看伺服器上當前系統日期和時間/磁碟空間占用情況/程式執行情況 本節學習的終端命令基本是查詢命令,通過這些命令對系統資源的使用情況有個瞭解 目標¶ 時間和日期 date cal 磁碟和目錄空間 df du 進程信息 ps top k ...
  • 一 部署高可用kube-controller-manager 1.1 高可用kube-controller-manager介紹 本實驗部署一個三實例 kube-controller-manager 的集群,啟動後將通過競爭選舉機制產生一個 leader 節點,其它節點為阻塞狀態。當 leader 節 ...
  • 添加uwagi配置文件 在你項目的根目錄中創建mysite.xml(名字無所謂),或者創建mysite.ini,輸入以下內容: <uwsgi> <socket>127.0.0.1:8000</socket> <!-- 內部埠,自定義 --> <chdir>/data/project1</chdir ...
  • "點我查看秘籍連載" I/O操作和DMA、RDMA 用戶進程想要執行IO操作時(例如想要讀磁碟數據、向磁碟寫數據、讀鍵盤的輸入等等),由於用戶進程工作在用戶模式下,它沒有執行這些操作的許可權,只能通過發起對應的系統調用請求操作系統幫忙完成這些操作。這裡因為系統調用產生中斷將陷入到內核,進行一次上下文切 ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...