15 Mapuslanon nga Useradd Commands nga adunay mga Ehemplo sa Linux


Kitang tanan nahibalo sa labing popular nga sugo nga gitawag og 'useradd' o 'adduser' sa Linux. Adunay mga higayon nga ang usa ka Linux System Administrator gihangyo nga maghimo mga account sa gumagamit sa Linux nga adunay pipila nga piho nga mga kabtangan, limitasyon, o komento.

[ Tingali ganahan ka usab: Giunsa Paghimo ang usa ka Gipaambit nga Direktoryo alang sa Tanang Gumagamit sa Linux ]

Sa Linux, ang usa ka 'useradd' nga sugo usa ka ubos nga lebel nga utility nga gigamit alang sa pagdugang/paghimo og mga account sa gumagamit sa Linux ug uban pang mga operating system nga sama sa Unix. Ang 'adduser' susama kaayo sa useradd nga sugo tungod kay kini usa lamang ka simbolo nga sumpay niini.

Sa ubang mga pag-apod-apod sa Linux, ang useradd command mahimong adunay gamay nga lahi nga bersyon. Gisugyot ko nga basahon nimo ang imong dokumentasyon, sa dili pa gamiton ang among mga panudlo sa paghimo og bag-ong mga account sa gumagamit sa Linux.

Kung gipadagan namon ang 'useradd' nga mando sa terminal sa Linux, gihimo niini ang mga musunud nga dagkong butang:

  • Kini nag-edit sa /etc/passwd, /etc/shadow, /etc/group ug /etc/gshadow nga mga file para sa bag-ong nahimo nga user accounts.
  • Naghimo ug nag-populate og home directory para sa bag-ong user.
  • Nagtakda og mga permiso ug pagpanag-iya sa home directory.

Ang Basic syntax sa useradd command mao ang:

# useradd [options] username

Niini nga artikulo, ipakita namo kanimo ang labing gigamit nga 15 useradd commands uban sa ilang praktikal nga mga ehemplo sa Linux. Gibahin namo ang seksyon sa duha ka bahin gikan sa Basic ngadto sa Advance nga paggamit sa command.

  • Bahin I: Basic Useradd Commands nga adunay 10 ka pananglitan
  • Bahin II: Advance Useradd Commands nga adunay 5 ka pananglitan

1. Unsaon Pagdugang ug Bag-ong Gumagamit sa Linux

Aron makadugang/makahimo ug bag-ong user, kinahanglan nimong sundon ang command 'useradd' o 'adduser' gamit ang 'username'. Ang 'username' kay usa ka user login name, nga gigamit sa usa ka user sa pag-log in sa sistema.

Usa ra ka user ang mahimong idugang ug kana nga username kinahanglan nga talagsaon (lahi sa ubang mga username anaa na sa sistema).

Pananglitan, aron makadugang usa ka bag-ong tiggamit nga gitawag nga 'tecmint', gamita ang mosunud nga mando.

 useradd tecmint

Kung magdugang kami usa ka bag-ong tiggamit sa Linux nga adunay 'useradd' nga mando kini gihimo sa usa ka naka-lock nga estado ug aron maablihan ang account sa gumagamit, kinahanglan namon nga magbutang usa ka password alang sa kana nga account gamit ang 'passwd' nga mando.

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

Kung nahimo na ang usa ka bag-ong user, ang pagsulod niini awtomatiko nga idugang sa '/etc/passwd' file. Ang file gigamit sa pagtipig sa impormasyon sa user ug ang entry kinahanglan nga.

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

Ang entry sa ibabaw adunay usa ka set sa pito ka colon-separated field, ang matag field adunay kaugalingong kahulogan. Atong tan-awon kung unsa kini nga mga natad:

  • Username: User login name nga gigamit sa pag-log in sa sistema. Kinahanglan kini tali sa 1 hangtod 32 ka karakter ang gitas-on.
  • Password: User password (o x character) nga gitipigan sa /etc/shadow file sa encrypted format.
  • User ID (UID): Ang matag user kinahanglang adunay User ID (UID) User Identification Number. Pinaagi sa default, ang UID 0 gitagana alang sa gamut nga tiggamit ug ang UID gikan sa 1-99 gitagana alang sa ubang gitakda nang daan nga mga account. Ang dugang nga UID gikan sa 100-999 gitagana alang sa mga account ug grupo sa sistema.
  • Group ID (GID): Ang nag-unang Group ID (GID) Group Identification Number nga gitipigan sa /etc/group file.
  • Impormasyon sa Gumagamit: Kini nga field kay opsyonal ug nagtugot kanimo sa pagpasabot ug dugang impormasyon mahitungod sa tiggamit. Pananglitan, ang tibuok nga ngalan sa tiggamit. Kini nga field gipuno sa 'tudlo' nga sugo.
  • Direktoryo sa Balay: Ang hingpit nga lokasyon sa direktoryo sa balay sa user.
  • Shell: Ang hingpit nga lokasyon sa shell sa user ie /bin/bash.

2. Paghimo og User nga adunay Lainlaing Home Directory

Pinaagi sa default nga 'useradd' nga command nagmugna sa home directory sa usa ka user ubos sa/home directory nga adunay username. Sa ingon, pananglitan, nakita namon sa ibabaw ang default nga direktoryo sa balay alang sa tiggamit nga 'tecmint' mao ang '/home/tecmint'.

Bisan pa, kini nga aksyon mahimong usbon pinaagi sa paggamit sa '-d' nga kapilian kauban ang lokasyon sa bag-ong direktoryo sa balay (ie/data/proyekto). Pananglitan, ang mosunud nga mando maghimo usa ka tiggamit nga 'anusha' nga adunay direktoryo sa balay '/ data/proyekto'.

 useradd -d /data/projects anusha
 passwd anusha

Imong makita ang direktoryo sa balay sa user ug uban pang impormasyon nga may kalabotan sa user sama sa user id, group id, shell, ug mga komento.

 cat /etc/passwd | grep anusha

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

3. Paghimo og User nga adunay Piho nga User ID

Sa Linux, ang matag user adunay kaugalingong UID (Unique Identification Number). Sa kasagaran, sa matag higayon nga maghimo kita og bag-ong user account sa Linux, kini mag-assign sa userid 500, 501, 502, ug uban pa...

Apan, makahimo kami og mga tiggamit nga adunay custom userid nga adunay '-u' nga kapilian. Pananglitan, ang mosunod nga sugo maghimo usa ka user 'navin' nga adunay custom userid '1002'.

 useradd -u 1002 navin

Karon, atong pamatud-an nga ang tiggamit naghimo sa usa ka gitakda nga userid (1002) gamit ang mosunod nga sugo.

 cat /etc/passwd | grep navin

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

PAHINUMDOM: Siguroha nga ang bili sa usa ka user ID kinahanglan nga talagsaon gikan sa bisan unsa nga lain na nga gibuhat nga mga tiggamit sa sistema.

4. Paghimo og User nga adunay Piho nga Group ID

Sa susama, ang matag tiggamit adunay ilang kaugalingon nga GID (Group Identifier). Makahimo kami og mga tiggamit nga adunay piho nga mga ID sa grupo ingon man sa kapilian nga -g.

Dinhi sa kini nga pananglitan, magdugang kami usa ka tiggamit nga 'tarunika' nga adunay usa ka piho nga UID ug GID nga dungan sa tabang sa '-u' ug '-g' nga mga kapilian.

 useradd -u 1005 -g tecmint tarunika

Karon, tan-awa ang gi-assign nga user id ug group id sa '/etc/passwd' file.

 cat /etc/passwd | grep tarunika

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

Aron ma-verify ang GID sa user, gamita ang id command:

 id -gn tarunika

5. Pagdugang og User sa Multiple Groups

Ang '-G' nga kapilian gigamit aron makadugang usa ka tiggamit sa dugang nga mga grupo. Ang matag ngalan sa grupo gibulag sa usa ka comma, nga walay mga intervening space.

Dinhi sa kini nga pananglitan, nagdugang kami usa ka 'tecmint' nga tiggamit sa daghang mga grupo sama sa mga admin, webadmin, ug developer.

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

Sunod, pamatud-i nga ang daghang mga grupo gi-assign sa user gamit ang id command.

 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

[ Tingali ganahan ka usab: Unsaon Pagdugang o Pagtangtang sa Gumagamit gikan sa Grupo sa Linux ]

6. Pagdugang og User nga walay Home Directory

Sa pipila ka mga sitwasyon, diin dili kami gusto nga mag-assign sa mga direktoryo sa balay alang sa usa ka user, tungod sa pipila ka mga hinungdan sa seguridad. Sa ingon nga sitwasyon, kung ang usa ka tiggamit mag-log in sa usa ka sistema nga bag-o lang nagsugod pag-usab, ang direktoryo sa balay niini mahimong gamut. Kung ang ingon nga tiggamit mogamit sa su command, ang direktoryo sa pag-login niini mao ang direktoryo sa balay sa miaging tiggamit.

Aron makamugna ang mga tiggamit nga wala ang ilang mga direktoryo sa balay, gigamit ang '-M'. Pananglitan, ang mosunud nga mando maghimo usa ka tiggamit nga 'shilpi' nga wala’y direktoryo sa balay.

 useradd -M shilpi

Karon, atong pamatud-an nga ang user gimugna nga walay home directory, gamit ang ls command.

 ls -l /home/shilpi

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

7. Paghimo og User nga adunay Petsa sa Pag-expire sa Account

Sa kasagaran, kung atong idugang ang user gamit ang 'useradd' nga command user account dili gayud ma-expire ie ang ilang expiry date kay gitakda sa 0 (nagpasabot nga wala na expire).

Bisan pa, mahimo naton itakda ang petsa sa pag-expire gamit ang '-e' nga kapilian, nga nagtakda sa petsa sa format nga YYYY-MM-DD. Makatabang kini sa paghimo og temporaryo nga mga account alang sa usa ka piho nga yugto sa panahon.

[ Tingali ganahan ka usab: Giunsa Pagdumala ang Pag-expire sa Password sa Gumagamit ug Pagkatigulang sa Linux ]

Dinhi sa kini nga pananglitan, naghimo kami usa ka user 'aparna' nga adunay petsa sa pag-expire sa account ie 27 Agosto 2021 sa format nga YYYY-MM-DD.

 useradd -e 2021-08-27 aparna

Sunod, pamatud-i ang edad sa account ug password gamit ang 'chage' command para sa user 'aparna' pagkahuman sa pagtakda sa petsa sa pag-expire sa account.

 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. Paghimo og User nga adunay Password Expiry Date

Ang argumento nga '-f' gigamit aron mahibal-an ang gidaghanon sa mga adlaw pagkahuman matapos ang password. Usa ka bili sa 0 nga dili aktibo ang user account sa diha nga ang password na-expire na. Sa kasagaran, ang password expiry value nga gibutang sa -1 nagpasabot nga dili gayud matapos.

Dinhi sa kini nga pananglitan, magbutang kami usa ka petsa sa pag-expire sa password sa account i.e. 45 ka adlaw sa usa ka user 'mansi' gamit ang '-e' ug '-f' nga mga kapilian.

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

9. Pagdugang og Gumagamit nga adunay Pasadya nga mga Komento

Ang '-c' nga kapilian nagtugot kanimo sa pagdugang sa naandan nga mga komento, sama sa tibuuk nga ngalan sa gumagamit, numero sa telepono, ug uban pa sa /etc/passwd file. Ang komento mahimong idugang isip usa ka linya nga walay bisan unsang mga luna.

Pananglitan, ang mosunod nga sugo magdugang usa ka user 'mansi' ug ipasulod ang tibuok nga ngalan sa user, Manis Khurana, ngadto sa comment field.

 useradd -c "Manis Khurana" mansi

Makita nimo ang imong mga komento sa '/etc/passwd' file sa seksyon sa mga komento.

 tail -1 /etc/passwd

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

10. Paghimo User Login Shell sa Linux

Usahay, magdugang mi og mga user nga walay labot sa login shell o usahay gikinahanglan namo nga mag-assign og lain-laing shells sa among users. Mahimo namon nga i-assign ang lainlaing mga shell sa pag-login sa matag tiggamit nga adunay kapilian nga '-s'.

Dinhi niini nga pananglitan, idugang ang usa ka user nga 'tecmint' nga walay login shell ie '/sbin/nologin' shell.

 useradd -s /sbin/nologin tecmint

Mahimo nimong susihon ang gi-assign nga kabhang sa tiggamit sa '/etc/passwd' file.

 tail -1 /etc/passwd

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

11. Pagdugang og User nga adunay Piho nga Direktoryo sa Balay, Default nga Shell, ug Custom nga Komento

Ang mosunud nga mando maghimo usa ka user 'ravi' nga adunay direktoryo sa balay '/ var/www/tecmint', default shell/bin/bash ug nagdugang dugang nga kasayuran bahin sa tiggamit.

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

Sa sugo sa ibabaw nga '-m -d' nga opsyon nagmugna og usa ka user nga adunay usa ka piho nga home directory ug ang '-s' nga opsyon nagtakda sa default shell sa user ie /bin/bash. Ang '-c' nga kapilian nagdugang sa dugang nga impormasyon bahin sa user ug ang '-U' nga argumento nagmugna/nagdugang og grupo nga adunay parehas nga ngalan sa user.

12. Pagdugang og User nga adunay Home Directory, Custom Shell, Custom Comment, ug UID/GID

Ang sugo susama kaayo sa ibabaw, apan dinhi atong gihubit ang kabhang nga '/ bin/zsh' ug custom UID ug GID sa usa ka user 'tarunika'. Diin ang '-u' naghubit sa UID sa bag-ong user (ie 100) ug samtang ang '-g' naghubit sa GID (ie 1000).

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

13. Pagdugang og User nga adunay Home Directory, No Shell, Custom Comment, ug User ID

Ang mosunod nga sugo susama kaayo sa ibabaw sa duha ka mga sugo, ang bugtong kalainan ania dinhi, nga atong gi-disable ang login shell sa usa ka user nga gitawag og 'avishek' nga adunay custom User ID (ie 1019).

Dinhi ang '-s' nga kapilian nagdugang sa default nga kabhang/bin/bash, apan sa kini nga kaso among gibutang ang pag-login sa '/usr/sbin/nologin'. Kana nagpasabut nga ang user nga 'avishek' dili maka-login sa sistema.

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

14. Pagdugang og User nga adunay Home Directory, Shell, Custom Skell/Comment, ug User ID

Ang pagbag-o lamang niini nga sugo mao, gigamit namo ang '-k' nga opsyon aron itakda ang custom skeleton directory ie /etc/custom.skell, dili ang default /etc/skel. Gigamit usab namo ang '-s' nga kapilian sa paghubit sa lain-laing kabhang ie /bin/tcsh sa user 'navin'.

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

15. Pagdugang og User nga walay Home Directory, No Shell, No Group, ug Custom Comment

Ang mosunod nga sugo lahi kaayo kay sa ubang mga sugo nga gipatin-aw sa ibabaw. Dinhi among gigamit ang '-M' nga kapilian sa paghimo og usa ka user nga wala ang home directory sa user ug ang '-N' nga argumento gigamit nga nagsulti sa sistema sa paghimo lamang og username (walay grupo). Ang argumento nga '-r' alang sa paghimo sa usa ka tiggamit sa sistema.

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

Alang sa dugang nga kasayuran ug mga kapilian bahin sa useradd, padagana ang 'useradd' nga komand sa terminal aron makita ang magamit nga mga kapilian.

# useradd

[ Tingali ganahan ka usab: 15 Mapuslanon nga Usermod Command nga mga Ehemplo sa Linux ]