15 Nëtzlech Useradd Kommandoen mat Beispiller am Linux


Mir sinn all bewosst vum populärste Kommando genannt 'useradd'oder 'adduser'op Linux. Et ginn Zäiten wou e Linux System Administrator gefrot gëtt fir Benotzerkonten op Linux mat e puer spezifeschen Eegeschaften, Aschränkungen oder Kommentaren ze kreéieren.

[ Dir kënnt och gär hunn: Wéi erstellt een e gemeinsame Verzeechnes fir all Benotzer op Linux ]

Am Linux ass e 'useradd' Kommando e Low-Level Utility dat benotzt gëtt fir Benotzerkonten an Linux an aner Unix-ähnlech Betribssystemer ze addéieren/ze kreéieren. Den 'adduser' ass vill ähnlech wéi de useradd Kommando well et just e symbolesche Link dozou ass.

An e puer anere Linux Verdeelungen kann de Useradd Kommando mat enger liicht aner Versioun kommen. Ech proposéieren Iech Är Dokumentatioun ze liesen, ier Dir eis Instruktioune benotzt fir nei Benotzerkonten am Linux ze kreéieren.

Wa mir de Kommando 'useradd' am Linux-Terminal lafen, mécht et déi folgend grouss Saachen:

  • Et ännert /etc/passwd, /etc/shadow, /etc/group an /etc/gshadow Dateie fir déi nei erstallt Benotzerkonten.
  • Erstellt a populéiert en Heemverzeechnes fir den neie Benotzer.
  • Setzt Permissiounen a Proprietairë fir den Heemverzeechnes.

D'Basis Syntax vum Useradd Kommando ass:

# useradd [options] username

An dësem Artikel weisen mir Iech déi meescht benotzt 15 Useradd Kommandoen mat hiren praktesche Beispiller am Linux. Mir hunn d'Sektioun an zwee Deeler opgedeelt vu Basis bis Advance Notzung vum Kommando.

  • Deel I: Basis Benotzeradd Kommandoen mat 10 Beispiller
  • Deel II: Advance Useradd Commands mat 5 Beispiller

1. Wéi en neie Benotzer op Linux derbäi

Fir en neie Benotzer ze addéieren/erstellen, musst Dir de Kommando 'useradd' oder 'adduser' mat 'Benotzernumm' verfollegen. De 'Benotzernumm' ass e Benotzernumm, dee vun engem Benotzer benotzt gëtt fir an de System aloggen.

Nëmmen ee Benotzer ka bäigefüügt ginn an dee Benotzernumm muss eenzegaarteg sinn (ënnerscheed vun anere Benotzernimm existéieren schonn am System).

Zum Beispill, fir en neie Benotzer mam Numm 'tecmint' derbäi ze ginn, benotzt de folgende Kommando.

 useradd tecmint

Wa mir en neie Benotzer am Linux mam Kommando 'useradd' addéieren, gëtt et an engem gespaarten Zoustand erstallt a fir dëse Benotzerkont opzemaachen, musse mir e Passwuert fir dee Kont mam Kommando 'passwd' setzen.

 passwd tecmint
Changing password for user tecmint.
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully.

Wann en neie Benotzer erstallt ass, gëtt seng Entrée automatesch an d'/etc/passwd Datei bäigefüügt. D'Datei gëtt benotzt fir d'Informatioun vum Benotzer ze späicheren an d'Entrée soll sinn.

tecmint:x:1000:1000:tecmint:/home/tecmint:/bin/bash

Déi uewe genannte Entrée enthält eng Rei vu siwe Colon-getrennte Felder, all Feld huet seng eege Bedeitung. Loosst eis kucken wat dës Felder sinn:

  • Benotzernumm: Benotzernumm benotzt fir an de System aloggen. Et soll tëscht 1 an 32 Zeeche laang sinn.
  • Passwuert: Benotzerpasswuert (oder x Charakter) gespäichert an /etc/shadow Datei am verschlësselte Format.
  • User ID (UID): All Benotzer muss eng User ID (UID) User Identification Number hunn. Par défaut ass UID 0 reservéiert fir de Root Benotzer an UIDs rangéiert vun 1-99 si fir aner virdefinéiert Konte reservéiert. Weider UIDs rangéiert vun 100-999 si fir Systemkonten a Gruppen reservéiert.
  • Grupp ID (GID): Déi primär Grupp ID (GID) Grupp Identifikatioun Nummer an der /etc/group Datei gespäichert.
  • Benotzer Info: Dëst Feld ass fakultativ an erlaabt Iech extra Informatioun iwwer de Benotzer ze definéieren. Zum Beispill, Benotzer voll Numm. Dëst Feld gëtt vum 'Fanger' Kommando ausgefëllt.
  • Home Directory: Den absolute Standuert vum Heemverzeechnes vum Benotzer.
  • Shell: Déi absolut Plaz vun der Shell vun engem Benotzer dh /bin/bash.

2. Erstellt e Benotzer mat verschiddene Home Directory

Par défaut 'useradd' Kommando erstellt e Benotzer säin Heemverzeechnes ënner/Heemverzeechnes mat engem Benotzernumm. Also, zum Beispill, hu mir iwwer de Standard Heemverzeechnes fir de Benotzer 'tecmint' gesinn '/home/tecmint'.

Wéi och ëmmer, dës Handlung kann geännert ginn andeems Dir d'Optioun '-d' benotzt zesumme mat der Plaz vum neien Heemverzeichnis (dh /data/projects). Zum Beispill, de folgende Kommando erstellt e Benotzer 'anusha'mat engem Heemverzeechnes '/data/projects'.

 useradd -d /data/projects anusha
 passwd anusha

Dir kënnt de Benotzer Heemverzeechnes an aner Benotzer-relatéiert Informatioun wéi Benotzer-ID, Grupp-ID, Shell a Kommentarer gesinn.

 cat /etc/passwd | grep anusha

anusha:x:1001:1001::/data/projects:/bin/bash

3. Schafen engem Benotzer mat engem spezifeschen Benotzer ID

Am Linux huet all Benotzer seng eegen UID (Unique Identification Number). Par défaut, wa mir en neie Benotzerkont am Linux erstellen, gëtt et de Benotzerid 500, 501, 502, a sou weider ...

Awer mir kënne Benotzer mat engem personaliséierte Benotzerid mat der '-u' Optioun erstellen. Zum Beispill wäert de folgende Kommando e Benotzer 'navin' erstellen mat engem personaliséierte Benotzerid '1002'.

 useradd -u 1002 navin

Elo, loosst eis verifizéieren datt de Benotzer mat engem definéierte Benotzerid (1002) erstallt huet mat dem folgenden Kommando.

 cat /etc/passwd | grep navin

navin:x:1002:1002::/home/navin:/bin/bash

NOTÉIERT: Vergewëssert Iech datt de Wäert vun enger Benotzer-ID eenzegaarteg muss sinn vun all anere schonn erstallte Benotzer um System.

4. Erstellt e Benotzer mat enger spezifescher Grupp ID

Ähnlech huet all Benotzer säin eegene GID (Group Identifier). Mir kënnen Benotzer mat spezifesche Grupp IDen och mat der -g Optioun erstellen.

Hei an dësem Beispill addéiere mir e Benotzer 'tarunika'mat enger spezifescher UID a GID gläichzäiteg mat der Hëllef vun '-u' an '-g' Optiounen.

 useradd -u 1005 -g tecmint tarunika

Elo, kuckt déi zougewisen Benotzer ID a Grupp ID an '/etc/passwd' Datei.

 cat /etc/passwd | grep tarunika

tarunika:x:1005:1000::/home/tarunika:/bin/bash

Fir d'GID vum Benotzer z'iwwerpréiwen, benotzt den ID Kommando:

 id -gn tarunika

5. Füügt e Benotzer op Multiple Groups

D'Optioun '-G' gëtt benotzt fir e Benotzer an zousätzlech Gruppen ze addéieren. All Gruppennumm gëtt vun engem Komma getrennt, ouni Interventiounsplazen.

Hei an dësem Beispill addéiere mir e Benotzer 'tecmint' a verschidde Gruppen wéi Admins, Webadmin, an Entwéckler.

 groupadd admins
 groupadd webadmin
 groupadd developers
 usermod -a -G admins,webadmin,developers tecmint
 useradd -G admins,webadmin,developers paddy

Als nächst, kontrolléiert datt déi verschidde Gruppen dem Benotzer mam ID Kommando zougewisen sinn.

 id tecmint

uid=1000(tecmint) gid=1000(tecmint)
groups=1000(tecmint),1007(admins),1008(webadmin),1009(developers)
context=root:system_r:unconfined_t:SystemLow-SystemHigh

[Dir kënnt och gären hunn: Wéi e Benotzer aus enger Grupp op Linux derbäisetzen oder ewechhuelen]

6. Füügt e Benotzer ouni Home Directory

An e puer Situatiounen, wou mir net doheem Verzeichnisser fir e Benotzer wëllen zouzeschreiwen, wéinst e puer Sécherheetsgrënn. An esou enger Situatioun, wann e Benotzer sech an e System aloggen deen just nei gestart ass, wäert säin Heemverzeechnes root sinn. Wann esou e Benotzer de su Kommando benotzt, ass säi Loginverzeichnis den Heemverzeechnes vum fréiere Benotzer.

Fir Benotzer ouni hir Heemverzeichnungen ze kreéieren, gëtt '-M' benotzt. Zum Beispill, de folgende Kommando erstellt e Benotzer 'shilpi' ouni en Heemverzeechnes.

 useradd -M shilpi

Elo, loosst eis verifizéieren datt de Benotzer ouni Heemverzeechnes erstallt gëtt, mam ls Kommando.

 ls -l /home/shilpi

ls: cannot access /home/shilpi: No such file or directory

7. Erstellt e Benotzer mat engem Verfallsdatum vum Kont

Par défaut, wa mir Benotzer mat dem 'useradd' Kommando addéieren, gëtt de Benotzerkont ni ofgelaf, dat heescht hiren Verfallsdatum ass op 0 gesat (heescht ni ofgelaf).

Wéi och ëmmer, mir kënnen den Verfallsdatum mat der '-e' Optioun setzen, déi den Datum am YYYY-MM-DD Format setzt. Dëst ass hëllefräich fir temporär Konte fir eng spezifesch Zäit ze kreéieren.

[Dir kënnt och gären hunn: Wéi verwalten d'Benotzerpasswuert Verfall an Alterung a Linux]

Hei an dësem Beispill erstellen mir e Benotzer 'aparna' mam Kontverfallsdatum dh 27. August 2021 am JJJJ-MM-DD Format.

 useradd -e 2021-08-27 aparna

Nächst, z'iwwerpréiwen den Alter vum Kont a Passwuert mam 'chage' Kommando fir Benotzer 'aparna'nodeems de Kont Verfallsdatum gesat huet.

 chage -l aparna

Last password change					: Jun 25, 2021
Password expires					: never
Password inactive					: never
Account expires						: Aug 27, 2021
Minimum number of days between password change		: 0
Maximum number of days between password change		: 99999
Number of days of warning before password expires	: 7

8. Erstellt e Benotzer mat Passwuert Verfallsdatum

Den '-f' Argument gëtt benotzt fir d'Zuel vun Deeg nodeems e Passwuert ofleeft ze definéieren. E Wäert vun 0 inaktiv de Benotzerkont soubal d'Passwuert ofgelaf ass. Par défaut heescht de Passwuert-Verfallswäert op -1 festgeluegt, datt ni ofleeft.

Hei an dësem Beispill wäerte mir e Kont Passwuert Verfallsdatum setzen dh 45 Deeg op engem Benotzer 'mansi' mat '-e' an '-f' Optiounen.

 useradd -e 2014-04-27 -f 45 mansi

9. Füügt e Benotzer mat Custom Comments

D'Optioun '-c' erlaabt Iech personaliséiert Kommentarer ze addéieren, sou wéi de ganzen Numm vum Benotzer, d'Telefonsnummer, etc op /etc/passwd Datei. De Kommentar kann als eenzeg Zeil bäigefüügt ginn ouni Plazen.

Zum Beispill gëtt de folgende Kommando e Benotzer 'mansi' derbäi a géif de ganzen Numm vum Benotzer, Manis Khurana, an d'Kommentarfeld setzen.

 useradd -c "Manis Khurana" mansi

Dir kënnt Är Kommentarer an der '/etc/passwd' Datei an der Kommentarsektioun gesinn.

 tail -1 /etc/passwd

mansi:x:1010:1013:Manis Khurana:/home/mansi:/bin/sh

10. Erstellt Benotzer Login Shell am Linux

Heiansdo addéiere mir Benotzer déi näischt mat der Login-Shell ze dinn hunn oder heiansdo erfuerdere mir eis Benotzer verschidde Shells ze ginn. Mir kënnen all Benotzer verschidde Login Shells mat der '-s' Optioun zouginn.

Hei an dësem Beispill wäert e Benotzer 'tecmint' ouni Login-Shell addéieren, dh '/sbin/nologin' Shell.

 useradd -s /sbin/nologin tecmint

Dir kënnt déi zougewisen Shell fir de Benotzer an der '/etc/passwd' Datei kontrolléieren.

 tail -1 /etc/passwd

tecmint:x:1011:1014::/home/tecmint:/sbin/nologin

11. Füügt e Benotzer mat spezifesche Home Directory, Standard Shell a Custom Comment

De folgende Kommando erstellt e Benotzer 'ravi'mat Heemverzeechnes '/var/www/tecmint', Standard Shell /bin/bash a füügt extra Informatioun iwwer de Benotzer.

 useradd -m -d /var/www/ravi -s /bin/bash -c "TecMint Owner" -U ravi

Am uewe genannte Kommando erstellt d'Optioun '-m -d' e Benotzer mat engem spezifizéierte Heemverzeichnis an d'Optioun '-s' setzt d'Default Shell vum Benotzer dh /bin/bash. D'Optioun '-c' füügt déi extra Informatioun iwwer de Benotzer an d'Argument '-U' erstellt/füügt eng Grupp mat dem selwechten Numm wéi de Benotzer.

12. Füügt e Benotzer mat Home Directory, Custom Shell, Custom Comment, an UID/GID

De Kommando ass ganz ähnlech wéi uewen, awer hei definéiere mir Shell als '/ bin/zsh' a personaliséiert UID a GID fir e Benotzer 'tarunika'. Wou '-u' den neie Benotzer seng UID definéiert (dh 100) a wärend '-g' GID definéiert (dh 1000).

 useradd -m -d /var/www/tarunika -s /bin/zsh -c "TecMint Technical Writer" -u 1000 -g 100 tarunika

13. Füügt e Benotzer mat Home Directory, No Shell, Custom Comment, and User ID

De folgende Kommando ass ganz ähnlech mat den uewe genannten zwee Kommandoen, deen eenzegen Ënnerscheed ass hei, datt mir d'Login Shell fir e Benotzer desaktivéiere avishek mat enger personaliséierter User ID (dh 1019).

Hei '-s' Optioun füügt d'Default Shell /bin/bash derbäi, awer an dësem Fall setzen mir de Login op '/usr/sbin/nologin'. Dat heescht, datt de Benotzer 'avishek' net an de System aloggen kann.

 useradd -m -d /var/www/avishek -s /usr/sbin/nologin -c "TecMint Sr. Technical Writer" -u 1019 avishek

14. Füügt e Benotzer mat Home Directory, Shell, Custom Skell/Comment, a User ID

Déi eenzeg Ännerung an dësem Kommando ass, mir hunn d'Optioun '-k' benotzt fir de personaliséierte Skelett Verzeechnes dh /etc/custom.skell ze setzen, net de Standard /etc/skel. Mir hunn och '-s' Optioun benotzt fir verschidde Shell ze definéieren dh /bin/tcsh zum Benotzer 'navin'.

 useradd -m -d /var/www/navin -k /etc/custom.skell -s /bin/tcsh -c "No Active Member of TecMint" -u 1027 navin

15. Füügt e Benotzer ouni Home Directory, No Shell, No Group, and Custom Comment

De folgende Kommando ass ganz anescht wéi déi aner Kommandoen uewen erkläert. Hei hu mir d'Optioun '-M' benotzt fir e Benotzer ouni den Heemverzeechnes vum Benotzer ze kreéieren an den '-N' Argument gëtt benotzt dat de System seet nëmmen e Benotzernumm ze kreéieren (ouni Grupp). Den '-r' Argument ass fir e System Benotzer ze kreéieren.

 useradd -M -N -r -s /bin/false -c "Disabled TecMint Member" clayton

Fir méi Informatioun an Optiounen iwwer useradd, lafen de Kommando 'useradd' um Terminal fir verfügbar Optiounen ze gesinn.

# useradd

[ Dir kënnt och gär hunn: 15 Nëtzlech Usermod Kommando Beispiller am Linux ]