Pagdumala sa mga Gumagamit ug Grupo, Mga Pahintulot sa File ug Mga Katangian ug Pag-enable sa sudo Access sa mga Account - Bahin 8


Kaniadtong Agosto, gisugdan sa Linux Foundation ang LFCS certification (Linux Foundation Certified Sysadmin), usa ka bag-ong programa nga ang katuyoan mao ang pagtugot sa mga indibidwal bisan asa ug bisan asa nga makakuha usa ka eksamin aron makakuha og sertipikasyon sa sukaranan hangtod sa intermediate nga suporta sa operasyon alang sa mga sistema sa Linux, nga naglakip sa. pagsuporta sa nagdagan nga mga sistema ug serbisyo, uban sa kinatibuk-ang pag-monitor ug pagtuki, lakip ang intelihente nga paghimog desisyon aron makadesisyon kung kanus-a kinahanglan nga ipataas ang mga isyu ngadto sa mas taas nga lebel nga mga grupo sa suporta.

Palihug tan-awa dayon ang mosunod nga video nga naghulagway sa usa ka pasiuna sa Linux Foundation Certification Program.

Kini nga artikulo mao ang Bahin 8 sa usa ka 10-tutorial nga taas nga serye, dinhi sa kini nga seksyon, giyahan ka namon kung giunsa pagdumala ang mga pagtugot sa mga tiggamit ug grupo sa sistema sa Linux, nga gikinahanglan alang sa eksaminasyon sa sertipikasyon sa LFCS.

Tungod kay ang Linux usa ka multi-user nga operating system (nga kini nagtugot sa daghang mga tiggamit sa lain-laing mga computer o mga terminal nga maka-access sa usa ka sistema), kinahanglan nimo nga mahibal-an kung unsaon paghimo sa epektibo nga pagdumala sa user: unsaon pagdugang, pag-edit, pagsuspinde, o pagtangtang user accounts, uban sa paghatag kanila sa gikinahanglang permiso sa pagbuhat sa ilang gi-assign nga mga buluhaton.

Pagdugang og User Accounts

Aron makadugang og bag-ong user account, mahimo nimong ipadagan ang bisan hain sa mosunod nga duha ka commands isip root.

# adduser [new_account]
# useradd [new_account]

Kung ang usa ka bag-ong account sa gumagamit idugang sa sistema, ang mga mosunud nga operasyon gihimo.

1. Ang iyang home directory gihimo (/home/username sa default).

2. Ang mosunod nga mga tinago nga mga file gikopya ngadto sa home directory sa user, ug gamiton sa paghatag ug environment variables para sa iyang user session.

.bash_logout
.bash_profile
.bashrc

3. Usa ka mail spool gihimo para sa user sa /var/spool/mail/username.

4. Usa ka grupo ang gihimo ug gihatagan sa parehas nga ngalan sa bag-ong user account.

Ang tibuok impormasyon sa account gitipigan sa /etc/passwd file. Kini nga payl adunay usa ka rekord sa matag sistema sa user account ug adunay mosunod nga pormat (ang mga field gilimitahan sa usa ka colon).

[username]:[x]:[UID]:[GID]:[Comment]:[Home directory]:[Default shell]

  1. Ang mga field [username] ug [Komento] kay self explanatory.
  2. Ang x sa ikaduhang field nagpakita nga ang account giprotektahan sa usa ka shadowed password (sa /etc/shadow), nga gikinahanglan aron maka-logon isip [username].
  3. Ang [UID] ug [GID] nga mga field maoy mga integer nga nagrepresentar sa User ID ug ang nag-unang Group ID diin ang [username] iya, matag usa.
  4. Ang [Home directory] nagpakita sa hingpit nga agianan paingon sa [username]'s home directory, ug
  5. Ang [Default nga kabhang] mao ang kabhang nga mahimong magamit niini nga user kung siya mo-log in sa sistema.

Ang impormasyon sa grupo gitipigan sa /etc/group file. Ang matag rekord adunay mosunod nga pormat.

[Group name]:[Group password]:[GID]:[Group members]

  1. [Ngalan sa grupo] mao ang ngalan sa grupo.
  2. Ang x sa [Password sa grupo] nagpaila nga wala gigamit ang mga password sa grupo.
  3. [GID]: pareho sa /etc/passwd.
  4. [Mga miyembro sa grupo]: usa ka listahan nga gibulag sa koma sa mga tiggamit nga miyembro sa [Ngalan sa grupo].

Human makadugang og account, mahimo nimong usbon ang mosunod nga impormasyon (aron hinganlan og pipila ka field) gamit ang usermod nga sugo, kansang batakang syntax sa usermod mao ang mosunod.

# usermod [options] [username]

Gamita ang –expiredate nga bandera nga gisundan ug petsa sa YYYY-MM-DD nga pormat.

# usermod --expiredate 2014-10-30 tecmint

Gamita ang hiniusang -aG, o –idugang –grupo mga kapilian, gisundan sa usa ka lista sa mga grupo nga gibulag sa koma.

# usermod --append --groups root,users tecmint

Gamita ang -d, o –home nga mga opsyon, gisundan sa hingpit nga dalan paingon sa bag-ong home directory.

# usermod --home /tmp tecmint

Gamita ang –shell, sundan sa dalan paingon sa bag-ong kabhang.

# usermod --shell /bin/sh tecmint
# groups tecmint
# id tecmint

Karon atong ipatuman ang tanan nga mga sugo sa ibabaw sa usa ka lakaw.

# usermod --expiredate 2014-10-30 --append --groups root,users --home /tmp --shell /bin/sh tecmint

Sa pananglitan sa ibabaw, among itakda ang expiry date sa tecmint user account ngadto sa Oktubre 30, 2014. Idugang usab namo ang account sa root ug users group. Sa kataposan, atong ibutang ang sh isip default shell niini ug usbon ang lokasyon sa home directory ngadto sa /tmp:

Basaha Usab:

  1. 15 useradd Command Examples sa Linux
  2. 15 usermod Command Ehemplo sa Linux

Alang sa kasamtangan nga mga account, mahimo usab namo ang mosunod.

Gamita ang -L (uppercase L) o ang –lock nga opsyon para ma-lock ang password sa user.

# usermod --lock tecmint

Gamita ang –u o ang –unlock nga opsyon aron maablihan ang password sa user nga gibabagan kaniadto.

# usermod --unlock tecmint

Pagdalagan ang mosunod nga serye sa mga sugo aron makab-ot ang tumong.

# groupadd common_group # Add a new group
# chown :common_group common.txt # Change the group owner of common.txt to common_group
# usermod -aG common_group user1 # Add user1 to common_group
# usermod -aG common_group user2 # Add user2 to common_group
# usermod -aG common_group user3 # Add user3 to common_group

Mahimo nimong papason ang usa ka grupo nga adunay mosunod nga mando.

# groupdel [group_name]

Kung adunay mga file nga gipanag-iya sa group_name, dili kini mapapas, apan ang tag-iya sa grupo ibutang sa GID sa grupo nga gipapas.

Linux File Permissions

Gawas sa sukaranang mga permiso sa pagbasa, pagsulat, ug pagpatuman nga among gihisgutan sa Mga Himan sa Pag-archive ug Pag-set sa Mga Katangian sa File – Bahin 3 niini nga serye, adunay uban pang dili kaayo gigamit (apan dili kaayo importante) nga mga setting sa pagtugot, usahay gitawag nga \ espesyal nga pagtugot.

Sama sa sukaranan nga mga pagtugot nga gihisgutan sa sayo pa, kini gitakda gamit ang usa ka octal file o pinaagi sa usa ka sulat (symbolic notation) nga nagpaila sa tipo sa pagtugot.

Mahimo nimong papason ang usa ka account (uban ang direktoryo sa balay niini, kung kini gipanag-iya sa tiggamit, ug ang tanan nga mga file nga nagpuyo niini, ug usab ang mail spool) gamit ang userdel nga mando nga adunay –remove kapilian.

# userdel --remove [username]

Matag higayon nga ang usa ka bag-ong account sa gumagamit idugang sa sistema, usa ka grupo nga adunay parehas nga ngalan ang gihimo nga adunay username ingon usa ra ka miyembro. Ang ubang mga tiggamit mahimong idugang sa grupo sa ulahi. Usa sa mga katuyoan sa mga grupo mao ang pagpatuman sa usa ka yano nga kontrol sa pag-access sa mga file ug uban pang mga kapanguhaan sa sistema pinaagi sa pagbutang sa husto nga pagtugot sa mga kapanguhaan.

Pananglitan, ibutang nga ikaw adunay mosunod nga mga tiggamit.

  1. user1 (panguna nga grupo: user1)
  2. user2 (panguna nga grupo: user2)
  3. user3 (panguna nga grupo: user3)

Tanan sila nagkinahanglan og basahon ug magsulat og access sa usa ka file nga gitawag og common.txt nga nahimutang sa usa ka dapit sa imong lokal nga sistema, o tingali sa usa ka network share nga Gihimo ni user1. Mahimong matintal ka sa pagbuhat og usa ka butang sama sa,

# chmod 660 common.txt
OR
# chmod u=rw,g=rw,o= common.txt [notice the space between the last equal sign and the file name]

Bisan pa, maghatag lang kini og pagbasa ug pagsulat og access sa tag-iya sa file ug sa mga tiggamit nga miyembro sa tag-iya sa grupo sa file (user1 niini nga kaso). Sa makausa pa, mahimong matintal ka nga idugang ang user2 ug user3 sa grupo nga user1, apan kana maghatag usab kanila og access sa ubang mga file nga gipanag-iya. pinaagi sa user user1 ug grupo user1.

Dinhi ang mga grupo magamit, ug ania ang kinahanglan nimong buhaton sa usa ka kaso nga sama niini.

Kung ang setuid nga pagtugot magamit sa usa ka executable file, ang usa ka user nga nagpadagan sa programa makapanunod sa epektibo nga mga pribilehiyo sa tag-iya sa programa. Tungod kay kini nga pamaagi makatarunganon nga makapataas sa mga kabalaka sa seguridad, ang gidaghanon sa mga file nga adunay pagtugot sa setuid kinahanglan nga huptan sa labing gamay. Mahimong makit-an nimo ang mga programa nga adunay kini nga pagtugot kung ang usa ka tiggamit sa sistema kinahanglan nga maka-access sa usa ka file nga gipanag-iya sa gamut.

Sa pag-summing, dili lang nga ang user makahimo sa binary file, apan mahimo usab niya kini nga adunay mga pribilehiyo sa gamut. Pananglitan, atong susihon ang mga permiso sa /bin/passwd. Kini nga binary gigamit sa pag-ilis sa password sa usa ka account, ug pag-usab sa /etc/shadow file. Mahimong usbon sa superuser ang password ni bisan kinsa, apan ang tanan nga ubang tiggamit kinahanglan ra nga makabag-o sa ilang kaugalingon.

Busa, ang bisan kinsa nga tiggamit kinahanglan adunay pagtugot sa pagdagan /bin/passwd, apan ang gamut lamang ang makahimo sa pagtino sa usa ka account. Ang ubang mga tiggamit makahimo lamang sa pag-ilis sa ilang katugbang nga mga password.

Kung ang setgid bit mabutang na, ang epektibong GID sa tinuod nga tiggamit mahimong iya sa tag-iya sa grupo. Sa ingon, ang bisan kinsa nga tiggamit maka-access sa usa ka file sa ilawom sa mga pribilehiyo nga gihatag sa tag-iya sa grupo sa ingon nga file. Dugang pa, kung ang setgid bit gibutang sa usa ka direktoryo, ang mga bag-ong nahimo nga mga file makapanunod sa parehas nga grupo sa direktoryo, ug ang mga bag-ong nahimo nga mga subdirektoryo makapanunod usab sa setgid bit sa direktoryo sa ginikanan. Mahimo nimong gamiton kini nga pamaagi kung ang mga miyembro sa usa ka grupo kinahanglan nga maka-access sa tanan nga mga file sa usa ka direktoryo, bisan unsa pa ang panguna nga grupo sa tag-iya sa file.

# chmod g+s [filename]

Aron mabutang ang setgid sa octal nga porma, i-prepend ang numero 2 sa kasamtangan (o gusto) nga batakang permiso.

# chmod 2755 [directory]

Sa diha nga ang \sticky bit gibutang sa mga file, ang Linux wala magtagad niini, samtang alang sa mga direktoryo kini adunay epekto sa pagpugong sa mga tiggamit sa pagtangtang o bisan sa pag-ilis sa ngalan sa mga file nga anaa niini gawas kon ang user nanag-iya sa direktoryo, ang file, o ang gamut.

# chmod o+t [directory]

Aron mabutang ang sticky bit sa octal nga porma, i-prepend ang numero 1 sa kasamtangan (o gusto) nga batakang permiso.

# chmod 1755 [directory]

Kung wala ang sticky bit, bisan kinsa nga makasulat sa direktoryo mahimong makatangtang o makabag-o sa mga file. Tungod niana, ang sticky bit sagad makita sa mga direktoryo, sama sa /tmp, nga masulat sa kalibutan.

Espesyal nga Linux File Attributes

Adunay uban nga mga hiyas nga makahimo sa dugang nga mga limitasyon sa mga operasyon nga gitugotan sa mga file. Pananglitan, pugngi ang file gikan sa pag-ilis sa ngalan, pagbalhin, pagtangtang, o bisan pag-usab. Gibutang sila sa chattr nga sugo ug mahimong tan-awon gamit ang lsattr tool, sama sa mosunod.

# chattr +i file1
# chattr +a file2

Human ipatuman kadtong duha ka mga sugo, ang file1 dili na mausab (nga nagpasabot nga dili na kini mabalhin, mabag-o sa ngalan, mausab o matangtang) samtang ang file2 mosulod sa append-only mode (mahimo lang abli sa append mode para sa pagsulat).

Pag-access sa root Account ug Paggamit sudo

Usa sa mga paagi nga ang mga tiggamit makakuha og access sa root account mao ang pag-type.

$ su

ug dayon pagsulod sa password sa gamut.

Kung molampos ang authentication, ma-log on ka isip root uban sa kasamtangan nga direktoryo nga nagtrabaho sama sa imong kaniadto. Kung gusto nimo ibutang sa direktoryo sa balay sa gamut, pagdagan.

$ su -

ug dayon isulod ang password sa gamut.

Ang pamaagi sa ibabaw nanginahanglan nga ang usa ka normal nga tiggamit nahibal-an ang password sa gamut, nga nagbutang usa ka seryoso nga peligro sa seguridad. Tungod niana nga rason, ang sysadmin makahimo sa pag-configure sa sudo nga sugo aron tugotan ang usa ka ordinaryo nga tiggamit sa pagpatuman sa mga sugo isip usa ka lain nga tiggamit (kasagaran ang superuser) sa kontrolado kaayo ug limitado nga paagi. Sa ingon, ang mga pagdili mahimong itakda sa usa ka tiggamit aron makahimo siya sa pagpadagan sa usa o labi pa nga espesipikong mga pribilihiyo nga mga mando ug wala’y uban pa.

Basaha Usab: Kalainan Tali sa su ug sudo User

Sa pagmatuod gamit ang sudo, ang user mogamit sa iyang kaugalingong password. Pagkahuman sa pagsulod sa mando, aghaton kami alang sa among password (dili sa superuser) ug kung ang pag-authenticate molampos (ug kung ang tiggamit gihatagan mga pribilehiyo sa pagpadagan sa mando), ang gitakda nga mando gihimo.

Aron mahatagan og access ang sudo, ang system administrator kinahanglang mag-edit sa /etc/sudoers file. Girekomendar nga kining payl i-edit gamit ang visudo nga sugo imbes nga ablihan kini direkta gamit ang text editor.

# visudo

Kini moabli sa /etc/sudoers nga payl gamit ang vim (mahimo nimong sundon ang mga instruksiyon nga gihatag sa Install and Use vim as Editor – Part 2 niini nga serye para i-edit ang file).

Kini ang labing may kalabutan nga mga linya.

Defaults    secure_path="/usr/sbin:/usr/bin:/sbin"
root        ALL=(ALL) ALL
tecmint     ALL=/bin/yum update
gacanepa    ALL=NOPASSWD:/bin/updatedb
%admin      ALL=(ALL) ALL

Atong tan-awon pag-ayo sila.

Defaults    secure_path="/usr/sbin:/usr/bin:/sbin:/usr/local/bin"

Gitugotan ka niini nga linya nga ipiho ang mga direktoryo nga gamiton alang sa sudo, ug gigamit aron mapugngan ang paggamit sa mga direktoryo nga piho sa gumagamit, nga makadaot sa sistema.

Ang sunod nga mga linya gigamit sa pagtino sa mga permiso.

root        ALL=(ALL) ALL

  1. Ang unang TANAN nga keyword nagpakita nga kini nga lagda magamit sa tanang host.
  2. Ang ikaduha nga TANAN nagpakita nga ang tiggamit sa unang kolum makahimo sa pagpadagan sa mga sugo nga adunay mga pribilehiyo sa bisan kinsang tiggamit.
  3. Ang ikatulo TANAN nagpasabot sa bisan unsa nga sugo mahimong ipadagan.

tecmint     ALL=/bin/yum update

Kung walay user nga gipiho human sa = sign, sudo kay ang root user. Niini nga kaso, ang user tecmint makahimo sa pagpadagan sa yum update isip gamut.

gacanepa    ALL=NOPASSWD:/bin/updatedb

Ang NOPASSWD nga direktiba nagtugot sa user nga gacanepa sa pagdagan /bin/updatedb nga dili kinahanglan nga mosulod sa iyang password.

%admin      ALL=(ALL) ALL

Ang % nga timaan nagpakita nga kini nga linya magamit sa usa ka grupo nga gitawag og \admin. nga ang mga miyembro sa grupo nga \admin” makadagan sa tanang mga sugo sama sa bisan kinsang user sa tanang mga host.

Aron makita kung unsa nga mga pribilehiyo ang gihatag kanimo sa sudo, gamita ang \-l nga kapilian aron ilista kini.

PAM (Pluggable Authentication Modules)

Ang Pluggable Authentication Modules (PAM) nagtanyag sa pagka-flexible sa pagtakda sa usa ka espesipikong pamaagi sa pag-authenticate sa kada-application ug/o kada-serbisyo nga basehan gamit ang mga module. Kini nga himan nga naa sa tanan nga modernong mga distribusyon sa Linux nakabuntog sa problema nga kanunay giatubang sa mga developer sa unang mga adlaw sa Linux, kung ang matag programa nga nanginahanglan pag-authentication kinahanglan nga tigumon labi na aron mahibal-an kung giunsa pagkuha ang kinahanglan nga kasayuran.

Pananglitan, sa PAM, dili igsapayan kung ang imong password gitipigan sa /etc/shadow o sa bulag nga server sa sulod sa imong network.

Pananglitan, kung ang programa sa pag-login kinahanglan nga mag-authenticate sa usa ka tiggamit, ang PAM naghatag dinamikong librarya nga naglangkob sa mga gimbuhaton alang sa husto nga pamaagi sa pag-authenticate. Sa ingon, ang pagbag-o sa laraw sa pag-authenticate alang sa aplikasyon sa pag-login (o bisan unsang ubang programa gamit ang PAM) dali tungod kay naglambigit lamang kini sa pag-edit sa usa ka file sa pag-configure (lagmit, usa ka file nga gingalan sa aplikasyon, nga nahimutang sa sulod sa /etc/pam.d , ug dili kaayo posible sa /etc/pam.conf).

Ang mga file sa sulod sa /etc/pam.d nagpaila kung unsang mga aplikasyon ang naggamit sa PAM nga lumad. Dugang pa, mahibal-an naton kung ang usa ka aplikasyon naggamit PAM pinaagi sa pagsusi kung kini ang librarya sa PAM (libpam) na-link niini:

# ldd $(which login) | grep libpam # login uses PAM
# ldd $(which top) | grep libpam # top does not use PAM

Sa hulagway sa ibabaw atong makita nga ang libpam nalambigit sa login application. Makataronganon kini tungod kay kini nga aplikasyon nalangkit sa operasyon sa pag-authenticate sa user sa sistema, samtang ang top wala.

Atong susihon ang PAM configuration file alang sa passwd - oo, ang iladong gamit sa pag-ilis sa mga password sa user. Kini nahimutang sa /etc/pam.d/passwd:

# cat /etc/passwd

Ang unang column nagpakita sa type sa authentication nga gamiton uban sa module-path (ikatulo nga column). Kung ang usa ka hyphen makita sa wala pa ang tipo, ang PAM dili magrekord sa log sa sistema kung ang module dili makarga tungod kay dili kini makit-an sa sistema.

Ang mosunod nga mga matang sa pag-authenticate anaa:

  1. account: kini nga matang sa module nagsusi kung ang user o serbisyo naghatag ug balido nga mga kredensyal aron mapamatud-an.
  2. auth: kini nga klase sa module nagpamatuod nga ang tiggamit mao ang iyang giangkon ug naghatag sa bisan unsang gikinahanglan nga mga pribilehiyo.
  3. password: kini nga matang sa module nagtugot sa user o serbisyo sa pag-update sa ilang password.
  4. session: kini nga matang sa module nagpaila kung unsa ang kinahanglan buhaton sa dili pa ug/o pagkahuman nga molampos ang authentication.

Ang ikaduha nga kolum (gitawag nga kontrol) nagpakita kung unsa ang mahitabo kung mapakyas ang pag-authenticate niini nga module:

  1. kinahanglan: kung mapakyas ang authentication pinaagi niini nga module, ang kinatibuk-ang authentication idili dayon.
  2. Ang
  3. gikinahanglan susama sa gikinahanglan, bisan pa ang tanang ubang nakalista nga modules para niini nga serbisyo tawagan sa dili pa idumili ang pag-authenticate.
  4. igo: kung mapakyas ang authentication pinaagi niini nga module, ang PAM mohatag gihapon ug authentication bisan kung ang nauna nga gimarkahan nga gikinahanglan napakyas.
  5. opsyonal: kon mapakyas o molampos ang pag-authenticate pinaagi niini nga module, walay mahitabo gawas kon kini lang ang module sa tipo niini nga gitakda alang niini nga serbisyo.
  6. ilakip nagpasabot nga ang mga linya sa gihatag nga tipo kinahanglang basahon gikan sa laing file.
  7. Ang
  8. substack susama sa naglakip apan ang mga kapakyasan sa pag-authenticate o mga kalampusan dili hinungdan sa paggawas sa kompleto nga module, apan sa substack lamang.

Ang ikaupat nga kolum, kon kini anaa, nagpakita sa mga argumento nga ipasa ngadto sa module.

Ang unang tulo ka linya sa /etc/pam.d/passwd (gipakita sa ibabaw), i-load ang system-auth module aron masusi nga ang user nakahatag ug balido nga mga kredensyal (account). Kon mao, kini nagtugot kaniya sa pag-usab sa authentication token (password) pinaagi sa paghatag og pagtugot sa paggamit sa passwd (auth).

Pananglitan, kon imong idugang

remember=2

ngadto sa mosunod nga linya

password    sufficient    pam_unix.so sha512 shadow nullok try_first_pass use_authtok

sa /etc/pam.d/system-auth:

password    sufficient    pam_unix.so sha512 shadow nullok try_first_pass use_authtok remember=2

ang kataposang duha ka hash nga password sa matag user gitipigan sa /etc/security/opasswd aron dili na kini magamit pag-usab:

Summary

Ang epektibo nga mga kahanas sa pagdumala sa tiggamit ug file hinungdanon nga mga himan alang sa bisan unsang tagdumala sa sistema. Sa kini nga artikulo gitabonan namon ang mga sukaranan ug nanghinaut nga magamit nimo kini ingon usa ka maayong pagsugod nga ipunting aron matukod. Palihug ibilin ang imong mga komento o pangutana sa ubos, ug kami motubag dayon.