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 ]