Amri 15 Muhimu za Useradd zilizo na Mifano katika Linux


Sote tunafahamu amri maarufu zaidi inayoitwa 'useradd' au 'adduser' katika Linux. Kuna nyakati ambapo Msimamizi wa Mfumo wa Linux anaombwa kuunda akaunti za mtumiaji kwenye Linux na baadhi ya sifa mahususi, vikwazo, au maoni.

[ Unaweza pia kupenda: Jinsi ya Kuunda Saraka Inayoshirikiwa kwa Watumiaji Wote katika Linux ]

Katika Linux, amri ya 'useradd' ni matumizi ya kiwango cha chini ambayo hutumika kwa kuongeza/kuunda akaunti za watumiaji katika Linux na mifumo mingine ya uendeshaji kama Unix. 'Adduser' inafanana sana na amri ya useradd kwa sababu ni kiunga cha ishara kwake.

Katika usambazaji mwingine wa Linux, useradd amri inaweza kuja na toleo tofauti kidogo. Ninapendekeza usome hati zako, kabla ya kutumia maagizo yetu kuunda akaunti mpya za watumiaji katika Linux.

Tunapoendesha amri ya 'useradd' kwenye terminal ya Linux, hufanya mambo makuu yafuatayo:

  • Inahariri /etc/passwd, /etc/shadow, /etc/group na /etc/gshadow faili za akaunti mpya za mtumiaji.
  • Huunda na kujaza saraka ya nyumbani kwa mtumiaji mpya.
  • Huweka ruhusa na umiliki kwa saraka ya nyumbani.

Syntax ya Msingi ya amri ya useradd ni:

# useradd [options] username

Katika makala hii, tutakuonyesha amri 15 za useradd zinazotumiwa zaidi na mifano yao ya vitendo katika Linux. Tumegawanya sehemu hiyo katika sehemu mbili kutoka kwa Msingi hadi Advance matumizi ya amri.

  • Sehemu ya I: Amri za Msingi za Useradd zenye mifano 10
  • Sehemu ya II: Amri za Useradd za Advance zenye mifano 5

1. Jinsi ya Kuongeza Mtumiaji Mpya katika Linux

Ili kuongeza/kuunda mtumiaji mpya, itabidi ufuate amri 'useradd' au 'adduser' yenye 'jina la mtumiaji'. 'Jina la mtumiaji' ni jina la mtumiaji la kuingia, ambalo hutumiwa na mtumiaji kuingia kwenye mfumo.

Mtumiaji mmoja tu ndiye anayeweza kuongezwa na jina hilo la mtumiaji lazima liwe la kipekee (tofauti na majina mengine ya watumiaji ambayo tayari yapo kwenye mfumo).

Kwa mfano, kuongeza mtumiaji mpya anayeitwa 'tecmint', tumia amri ifuatayo.

 useradd tecmint

Tunapoongeza mtumiaji mpya katika Linux kwa amri ya 'useradd' huundwa katika hali iliyofungwa na kufungua akaunti hiyo ya mtumiaji, tunahitaji kuweka nenosiri la akaunti hiyo kwa amri ya 'passwd'.

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

Mara tu mtumiaji mpya anapoundwa, ingizo lake huongezwa kiotomatiki kwa faili ya '/etc/passwd'. Faili hutumiwa kuhifadhi habari ya mtumiaji na ingizo linapaswa kuwa.

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

Ingizo hapo juu lina seti ya sehemu saba zilizotenganishwa na koloni, kila sehemu ina maana yake. Wacha tuone ni maeneo gani haya:

  • Jina la mtumiaji: Jina la mtumiaji la kuingia linalotumiwa kuingia kwenye mfumo. Inapaswa kuwa na urefu wa kati ya herufi 1 hadi 32.
  • Nenosiri: Nenosiri la mtumiaji (au herufi x) lililohifadhiwa katika faili /etc/shadow katika umbizo lililosimbwa.
  • Kitambulisho cha Mtumiaji (UID): Kila mtumiaji lazima awe na Nambari ya Utambulisho ya Mtumiaji (UID). Kwa chaguo-msingi, UID 0 imehifadhiwa kwa mtumiaji wa mizizi na UID za kuanzia 1-99 zimehifadhiwa kwa akaunti zingine zilizobainishwa mapema. UID zaidi kati ya 100-999 zimehifadhiwa kwa akaunti na vikundi vya mfumo.
  • Kitambulisho cha Kundi (GID): Nambari ya Utambulisho ya Kikundi cha msingi (GID) iliyohifadhiwa katika faili ya /etc/group.
  • Maelezo ya Mtumiaji: Sehemu hii ni ya hiari na inakuruhusu kufafanua maelezo ya ziada kuhusu mtumiaji. Kwa mfano, jina kamili la mtumiaji. Sehemu hii imejazwa na amri ya ‘kidole’.
  • Saraka ya Nyumbani: Eneo kamili la saraka ya nyumbani ya mtumiaji.
  • Shell: Mahali kamili ya ganda la mtumiaji yaani /bin/bash.

2. Unda Mtumiaji na Saraka Tofauti ya Nyumbani

Kwa chaguo-msingi amri ya 'useradd' huunda saraka ya nyumbani ya mtumiaji chini ya/saraka ya nyumbani na jina la mtumiaji. Kwa hivyo, kwa mfano, tumeona juu ya saraka chaguo-msingi ya nyumbani kwa mtumiaji 'tecmint' ni '/home/tecmint'.

Walakini, kitendo hiki kinaweza kubadilishwa kwa kutumia chaguo la '-d' pamoja na eneo la saraka mpya ya nyumbani (yaani /data/projects). Kwa mfano, amri ifuatayo itaunda mtumiaji 'anusha' na saraka ya nyumbani '/data/projects'.

 useradd -d /data/projects anusha
 passwd anusha

Unaweza kuona saraka ya nyumba ya mtumiaji na maelezo mengine yanayohusiana na mtumiaji kama vile kitambulisho cha mtumiaji, kitambulisho cha kikundi, ganda na maoni.

 cat /etc/passwd | grep anusha

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

3. Unda Mtumiaji na Kitambulisho Maalum cha Mtumiaji

Katika Linux, kila mtumiaji ana UID yake (Nambari ya Kitambulisho ya Kipekee). Kwa chaguo-msingi, wakati wowote tunapounda akaunti mpya ya mtumiaji katika Linux, inapeana userid 500, 501, 502, na kadhalika...

Lakini, tunaweza kuunda watumiaji na mtumiaji maalum na chaguo la '-u'. Kwa mfano, amri ifuatayo itaunda mtumiaji 'navin' na mtumiaji maalum '1002'.

 useradd -u 1002 navin

Sasa, hebu tuhakikishe kuwa mtumiaji ameunda na userid iliyofafanuliwa (1002) kwa kutumia amri ifuatayo.

 cat /etc/passwd | grep navin

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

KUMBUKA: Hakikisha kwamba thamani ya kitambulisho cha mtumiaji lazima iwe ya kipekee kutoka kwa watumiaji wengine ambao tayari wameundwa kwenye mfumo.

4. Unda Mtumiaji na Kitambulisho Maalum cha Kikundi

Vile vile, kila mtumiaji ana GID yake (Kitambulisho cha Kundi). Tunaweza kuunda watumiaji na vitambulisho maalum vya kikundi pamoja na chaguo la -g.

Hapa katika mfano huu, tutaongeza mtumiaji 'tarunika' na UID maalum na GID wakati huo huo kwa msaada wa chaguzi za '-u' na '-g'.

 useradd -u 1005 -g tecmint tarunika

Sasa, tazama kitambulisho cha mtumiaji ulichopewa na kitambulisho cha kikundi katika faili ya '/etc/passwd'.

 cat /etc/passwd | grep tarunika

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

Ili kuthibitisha GID ya mtumiaji, tumia amri ya kitambulisho:

 id -gn tarunika

5. Ongeza Mtumiaji kwa Vikundi vingi

Chaguo la ‘-G’ linatumika kuongeza mtumiaji kwenye vikundi vya ziada. Kila jina la kikundi limetenganishwa na koma, bila nafasi za kuingilia kati.

Hapa katika mfano huu, tunaongeza mtumiaji 'tecmint' katika vikundi vingi kama vile wasimamizi, webadmin na wasanidi programu.

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

Ifuatayo, thibitisha kuwa vikundi vingi vimepewa mtumiaji na amri ya kitambulisho.

 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

[ Unaweza pia kupenda: Jinsi ya Kuongeza au Kuondoa Mtumiaji kutoka kwa Kikundi kwenye Linux ]

6. Ongeza Mtumiaji bila Saraka ya Nyumbani

Katika baadhi ya hali, ambapo hatutaki kukabidhi saraka za nyumbani kwa mtumiaji, kutokana na baadhi ya sababu za usalama. Katika hali hiyo, wakati mtumiaji anaingia kwenye mfumo ambao umeanza upya, saraka yake ya nyumbani itakuwa mizizi. Wakati mtumiaji kama huyo anatumia su amri, saraka yake ya kuingia itakuwa saraka ya nyumbani ya mtumiaji wa awali.

Ili kuunda watumiaji bila saraka zao za nyumbani, '-M' inatumika. Kwa mfano, amri ifuatayo itaunda mtumiaji 'shilpi' bila saraka ya nyumbani.

 useradd -M shilpi

Sasa, hebu tuhakikishe kwamba mtumiaji ameundwa bila saraka ya nyumbani, kwa kutumia amri ya ls.

 ls -l /home/shilpi

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

7. Unda Mtumiaji na Tarehe ya Kuisha kwa Akaunti

Kwa chaguo-msingi, tunapoongeza za mtumiaji kwa amri ya 'useradd' akaunti ya mtumiaji kamwe haipiti muda wake yaani tarehe ya mwisho wa matumizi imewekwa kuwa 0 (inamaanisha kuwa muda wake haujaisha).

Hata hivyo, tunaweza kuweka tarehe ya mwisho wa matumizi kwa kutumia chaguo la ‘-e‘, ambalo huweka tarehe katika umbizo la YYYY-MM-DD. Hii ni muhimu kwa kuunda akaunti za muda kwa muda maalum.

[Unaweza pia kupenda: Jinsi ya Kudhibiti Kuisha kwa Nenosiri la Mtumiaji na Kuzeeka katika Linux]

Hapa katika mfano huu, tunaunda mtumiaji ‘aparna’ aliye na tarehe ya kuisha kwa akaunti, yaani, tarehe 27 Agosti 2021 katika umbizo la YYYY-MM-DD.

 useradd -e 2021-08-27 aparna

Kisha, thibitisha umri wa akaunti na nenosiri kwa amri ya 'chage' kwa mtumiaji 'aparna' baada ya kuweka tarehe ya kuisha kwa akaunti.

 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. Unda Mtumiaji aliye na Tarehe ya Kuisha ya Nenosiri

Hoja ya ‘-f’ inatumika kufafanua idadi ya siku baada ya muda wa nenosiri kuisha. Thamani ya 0 isiyotumika ya akaunti ya mtumiaji punde tu nenosiri linapoisha. Kwa chaguo-msingi, thamani ya kuisha kwa nenosiri iliyowekwa kuwa -1 inamaanisha kutoisha muda wake.

Hapa katika mfano huu, tutaweka tarehe ya kuisha kwa nenosiri la akaunti yaani siku 45 kwa mtumiaji ‘mansi’ akitumia chaguo za ‘-e’ na ‘-f’.

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

9. Ongeza Mtumiaji kwa Maoni Maalum

Chaguo la ‘-c’ hukuruhusu kuongeza maoni maalum, kama vile jina kamili la mtumiaji, nambari ya simu, n.k kwa faili ya /etc/passwd. Maoni yanaweza kuongezwa kama mstari mmoja bila nafasi zozote.

Kwa mfano, amri ifuatayo itaongeza mtumiaji 'mansi' na itaingiza jina kamili la mtumiaji huyo, Manis Khurana, kwenye sehemu ya maoni.

 useradd -c "Manis Khurana" mansi

Unaweza kuona maoni yako katika faili ya ‘/etc/passwd’ katika sehemu ya maoni.

 tail -1 /etc/passwd

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

10. Unda Shell ya Kuingia kwa Mtumiaji kwenye Linux

Wakati mwingine, tunaongeza watumiaji ambao hawana uhusiano wowote na ganda la kuingia au wakati mwingine tunahitaji kukabidhi makombora tofauti kwa watumiaji wetu. Tunaweza kukabidhi makombora tofauti ya kuingia kwa kila mtumiaji na chaguo la '-s'.

Hapa katika mfano huu, itaongeza mtumiaji 'tecmint' bila ganda la kuingia yaani '/sbin/nologin' shell.

 useradd -s /sbin/nologin tecmint

Unaweza kuangalia ganda lililopewa mtumiaji katika faili ya '/etc/passwd'.

 tail -1 /etc/passwd

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

11. Ongeza Mtumiaji kwa Saraka Maalum ya Nyumbani, Shell Chaguomsingi, na Maoni Maalum

Amri ifuatayo itaunda mtumiaji 'ravi' na saraka ya nyumbani '/var/www/tecmint', ganda chaguo-msingi /bin/bash na inaongeza habari ya ziada juu ya mtumiaji.

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

Katika amri iliyo hapo juu '-m -d' chaguo huunda mtumiaji na saraka maalum ya nyumbani na chaguo la '-s' huweka ganda chaguo-msingi la mtumiaji yaani /bin/bash. Chaguo la '-c' huongeza maelezo ya ziada kuhusu mtumiaji na hoja ya '-U' huunda/kuongeza kikundi chenye jina sawa na la mtumiaji.

12. Ongeza Mtumiaji kwa Saraka ya Nyumbani, Shell Maalum, Maoni Maalum, na UID/GID

Amri ni sawa na hapo juu, lakini hapa tunafafanua ganda kama '/bin/zsh' na UID maalum na GID kwa mtumiaji 'tarunika'. Ambapo '-u' inafafanua UID ya mtumiaji mpya (yaani 100) na ambapo '-g' inafafanua GID (yaani 1000).

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

13. Ongeza Mtumiaji aliye na Orodha ya Nyumbani, Hakuna Shell, Maoni Maalum, na Kitambulisho cha Mtumiaji

Amri ifuatayo inafanana sana na amri mbili zilizo hapo juu, tofauti pekee iko hapa, kwamba tunazima ganda la kuingia kwa mtumiaji anayeitwa 'avishek' na Kitambulisho cha Mtumiaji maalum (yaani 1019).

Hapa '-s' chaguo linaongeza ganda chaguo-msingi /bin/bash, lakini katika kesi hii tunaweka kuingia kwa '/usr/sbin/nologin'. Hiyo inamaanisha kuwa mtumiaji 'avishek' hataweza kuingia kwenye mfumo.

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

14. Ongeza Mtumiaji kwa Saraka ya Nyumbani, Shell, Skell/Maoni Maalum, na Kitambulisho cha Mtumiaji

Mabadiliko pekee katika amri hii ni, tulitumia chaguo la '-k' kuweka saraka maalum ya mifupa yaani /etc/custom.skell, sio chaguo-msingi /etc/skel. Pia tulitumia chaguo la '-s' kufafanua ganda tofauti yaani /bin/tcsh kwa mtumiaji 'navin'.

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

15. Ongeza Mtumiaji bila Saraka ya Nyumbani, Hakuna Shell, Hakuna Kikundi, na Maoni Maalum

Amri ifuatayo ni tofauti sana na amri zingine zilizoelezewa hapo juu. Hapa tulitumia chaguo la '-M' kuunda mtumiaji bila saraka ya nyumbani ya mtumiaji na hoja ya '-N' inatumiwa ambayo inaambia mfumo kuunda tu jina la mtumiaji (bila kikundi). Hoja ya '-r' ni kuunda mtumiaji wa mfumo.

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

Kwa habari zaidi na chaguzi kuhusu useradd, endesha amri ya 'useradd' kwenye terminal ili kuona chaguzi zinazopatikana.

# useradd

[ Unaweza pia kupenda: Mifano 15 Muhimu za Amri ya Mtumiaji katika Linux ]