Heimildir í Linux (chown, chmod, SUID, GUID, Sticky bit, ACL, umask)

Hæ allir. Þetta er þýðing á grein úr bókinni RedHat RHCSA RHCE 7 RedHat Enterprise Linux 7 EX200 og EX300.

Ýttu: Ég vona að greinin muni nýtast ekki aðeins byrjendum heldur einnig hjálpa reyndari stjórnendum að hagræða þekkingu sinni.

Svo skulum fara.

Heimildir í Linux (chown, chmod, SUID, GUID, Sticky bit, ACL, umask)

Til að fá aðgang að skrám í Linux eru heimildir notaðar. Þessum heimildum er úthlutað þremur hlutum: eiganda skráarinnar, eiganda hópsins og öðrum hlut (þ.e. öllum öðrum). Í þessari grein muntu læra hvernig á að sækja um heimildir.

Þessi grein byrjar á yfirliti yfir grunnhugtökin og síðan er fjallað um sérstakar heimildir og aðgangsstýringarlista (ACL). Í lok þessarar greinar förum við yfir að setja sjálfgefnar heimildir í gegnum umask, auk þess að stjórna útvíkkuðum notendaeigindum.

Skráareignarstjórnun

Áður en þú ræðir heimildir ættir þú að vera meðvitaður um hlutverk eiganda skráar og skráar. Eignarhald á skrám og möppum er mikilvægt til að takast á við heimildir. Í þessum hluta muntu fyrst læra hvernig þú getur séð eigandann. Þú munt þá læra hvernig á að breyta hópeiganda og notanda fyrir skrár og möppur.

Sýnir eiganda skráar eða möppu

Í Linux hefur hver skrá og hver mappa tvo eigendur: notanda og hópeiganda.

Þessir eigendur eru stilltir þegar skrá eða mappa er búin til. Notandinn sem býr til skrána verður eigandi þeirrar skráar og aðalhópurinn sem sami notandi tilheyrir verður einnig eigandi skráarinnar. Til að ákvarða hvort þú, sem notandi, hafir leyfi til að fá aðgang að skrá eða möppu, athugar skelin hvort það sé eignarhald.

Þetta gerist í eftirfarandi röð:

  1. Skelin athugar hvort þú sért eigandi skráarinnar sem þú vilt fá aðgang að. Ef þú ert eigandinn færðu heimildir og skelin hættir að athuga.
  2. Ef þú ert ekki eigandi skráarinnar mun skelin athuga hvort þú sért meðlimur í hópi sem hefur heimildir á skránni. Ef þú ert meðlimur í þessum hópi muntu fá aðgang að skránni með þeim heimildum sem hópurinn hefur stillt og skelin hættir að athuga.
  3. Ef þú ert hvorki notandi né eigandi hóps færðu réttindi annarra notenda (Annað).

Til að sjá núverandi eigendaúthlutun geturðu notað skipunina ls-l. Þessi skipun sýnir notanda og eiganda hópsins. Hér að neðan geturðu séð eigandastillingar fyrir möppur í /heimaskránni.

[root@server1 home]# ls -l
total 8
drwx------. 3  bob            bob            74     Feb   6   10:13 bob
drwx------. 3  caroline       caroline       74     Feb   6   10:13 caroline
drwx------. 3  fozia          fozia          74     Feb   6   10:13 fozia
drwx------. 3  lara           lara           74     Feb   6   10:13 lara
drwx------. 5  lisa           lisa           4096   Feb   6   10:12 lisa
drwx------. 14 user           user           4096   Feb   5   10:35 user

Með skipuninni ls þú getur sýnt eiganda skráa í tiltekinni möppu. Stundum getur verið gagnlegt að fá lista yfir allar skrár á kerfinu sem hafa tiltekinn notanda eða hóp sem eiganda. Fyrir þetta geturðu notað finna. Rök finna-notanda hægt að nota í þessu skyni. Til dæmis, eftirfarandi skipun sýnir allar skrár sem eru í eigu notandans linda:

find / -user linda

Þú getur líka notað finna til að leita að skrám sem hafa ákveðinn hóp sem eiganda.

Til dæmis leitar eftirfarandi skipun að öllum skrám sem tilheyra hópnum notendur:

find / -group users

Eigandaskipti

Til að beita viðeigandi heimildum er það fyrsta sem þarf að huga að er eignarhald. Það er skipun fyrir þessu chown. Setningafræði þessarar skipunar er auðvelt að skilja:

chown кто что

Til dæmis, eftirfarandi skipun breytir eiganda /home/account möppunni í notandann linda:

chown linda /home/account

Team chown hefur nokkra möguleika, einn þeirra er sérstaklega gagnlegur: -R. Þú getur giskað á hvað það gerir vegna þess að þessi valkostur er einnig fáanlegur fyrir margar aðrar skipanir. Þetta gerir þér kleift að stilla afturkvæmt eiganda, sem gerir þér kleift að stilla eiganda núverandi möppu og allt fyrir neðan. Eftirfarandi skipun breytir eignarhaldi á /home möppunni og öllu fyrir neðan hana til linda notandans:

Nú líta eigendurnir svona út:

[root@localhost ~]# ls -l /home
total 0
drwx------. 2 account account 62 Sep 25 21:41 account
drwx------. 2 lisa    lisa    62 Sep 25 21:42 lisa

Gerum það:

[root@localhost ~]# chown -R lisa /home/account
[root@localhost ~]#

Nú er notandinn lisa orðinn eigandi reikningsskrárinnar:

[root@localhost ~]# ls -l /home
total 0
drwx------. 2 lisa account 62 Sep 25 21:41 account
drwx------. 2 lisa lisa    62 Sep 25 21:42 lisa

Skiptu um eiganda hóps

Það eru tvær leiðir til að breyta eignarhaldi hóps. Þú getur gert þetta með því að nota chown, en það er sérstök skipun sem heitir chgrpsem gerir verkið. Ef þú vilt nota skipunina chown, nota . eða : fyrir framan nafn hópsins.

Eftirfarandi skipun breytir öllum eigendum /home/reikningshópsins í reikningshópinn:

chown .account /home/account

þú getur notað chown að breyta eiganda notanda og/eða hóps á nokkra vegu. Hér eru nokkur dæmi:

  • chown lisa myfile1 setur notandann lisa sem eiganda myfile1.
  • chown lisa.sales myfile setur notandann lisa sem eiganda myfile skránnar og setur einnig söluhópinn sem eiganda sömu skráar.
  • chown lisa:sala myfile sama og fyrri skipun.
  • chown .sales myfile setur söluhópinn sem eiganda myfile án þess að breyta eiganda notandans.
  • chown :sala myfile sama og fyrri skipun.

Þú getur notað skipunina chgrpað skipta um eiganda hópsins. Skoðum eftirfarandi dæmi, þar sem þú getur notað chgrp stilltu eiganda reikningsskrárinnar á söluhópinn:

chgrp .sales /home/account

Eins og með chown, þú getur notað valkostinn -R с chgrp, auk þess að breyta afturkvæmt eiganda hópsins.

Að skilja sjálfgefinn eiganda

Þú gætir hafa tekið eftir því að þegar notandi býr til skrá er sjálfgefið eignarhald beitt.
Notandinn sem býr til skrána verður sjálfkrafa eigandi þeirrar skráar og aðalhópur þess notanda verður sjálfkrafa eigandi þeirrar skráar. Þetta er venjulega hópurinn sem er skráður í /etc/passwd skránni sem aðalhópur notandans. Hins vegar, ef notandinn er meðlimur í fleiri en einum hópi, getur notandinn breytt virka aðalhópnum.

Til að sýna núverandi virka aðalhóp getur notandinn notað skipunina hópar:

[root@server1 ~]# groups lisa
lisa : lisa account sales

Ef núverandi linda notandi vill breyta virka aðalhópnum mun hann nota skipunina nýgrpfylgt eftir með nafni hópsins sem hann vill setja sem nýjan virkan aðalhóp. Eftir að hafa notað skipunina nýgrp aðalhópurinn verður virkur þar til notandinn slær inn skipun hætta eða ekki skrá þig út.

Eftirfarandi sýnir hvernig notandinn linda notar þessa skipun, með sölu sem aðalhópinn:

lisa@server1 ~]$ groups
lisa account sales
[lisa@server1 ~]$ newgrp sales
[lisa@server1 ~]$ groups
sales lisa account
[lisa@server1 ~]$ touch file1
[lisa@server1 ~]$ ls -l
total 0
-rw-r--r--. 1 lisa sales 0 Feb 6 10:06 file1

Eftir að hafa breytt virka aðalhópnum munu allar nýjar skrár sem notandinn býr til hafa þann hóp sem eiganda hópsins. Til að fara aftur í upphaflegu aðalhópsstillinguna, notaðu hætta.

Til að geta notað skipunina nýgrp, notandinn verður að vera meðlimur hópsins sem hann vill nota sem aðalhóp. Að auki er hægt að nota hóplykilorð fyrir hóp með skipuninni gpasswd. Ef notandinn notar skipunina nýgrpen er ekki meðlimur markhópsins biður skelin um lykilorð hópsins. Eftir að þú hefur slegið inn rétt hóplykilorð verður nýr virkur aðalhópur stofnaður.

Stjórnun grundvallarréttinda

Linux leyfiskerfið var fundið upp á áttunda áratugnum. Þar sem tölvuþörfin var takmörkuð á þessum árum var grunnheimildakerfið frekar takmarkað. Þetta leyfiskerfi notar þrjár heimildir sem hægt er að nota á skrár og möppur. Í þessum hluta muntu læra hvernig á að nota og breyta þessum heimildum.

Að skilja heimildir til að lesa, skrifa og framkvæma

Þrjár grunnheimildir gera þér kleift að lesa, skrifa og keyra skrár. Áhrif þessara heimilda eru mismunandi þegar þeim er beitt á skrár eða möppur. Fyrir skrá gefur lesheimildin þér rétt til að opna skrána til lestrar. Þess vegna geturðu lesið innihald hennar, en það þýðir að tölvan þín getur opnað skrána til að gera eitthvað við hana.

Forritsskrá sem þarf aðgang að bókasafni þarf til dæmis að hafa lesaðgang að því safni. Af því leiðir að lesheimildin er grunnheimildin sem þú þarft til að vinna með skrár.

Þegar það er notað á möppu gerir lestur þér kleift að birta innihald þeirrar möppu. Þú ættir að vera meðvitaður um að þessi heimild leyfir þér ekki að lesa skrárnar í möppunni. Linux leyfiskerfið þekkir ekki arfleifð og eina leiðin til að lesa skrá er að nota lesheimildir á þeirri skrá.

Eins og þú getur sennilega giskað á, leyfir skriflegt leyfi, ef það er notað á skrá, að skrifa á skrána. Með öðrum orðum, það gerir þér kleift að breyta innihaldi núverandi skráa. Hins vegar leyfir það þér ekki að búa til eða eyða nýjum skrám eða breyta skráarheimildum. Til að gera þetta þarftu að gefa skrifleyfi á möppuna þar sem þú vilt búa til skrána. Í möppum gerir þessi heimild þér einnig kleift að búa til og eyða nýjum undirmöppum.

Keyrsluheimild er það sem þú þarft til að keyra skrána. Það verður aldrei sjálfgefið uppsett, sem gerir Linux næstum algjörlega ónæmur fyrir vírusum. Aðeins einhver með skrifheimildir á möppunni getur beitt framkvæmdarheimild.

Eftirfarandi dregur saman notkun grunnheimilda:

Heimildir í Linux (chown, chmod, SUID, GUID, Sticky bit, ACL, umask)

Að nota chmod

Skipunin er notuð til að stjórna heimildum. Chmod... Notar Chmod þú getur stillt heimildir fyrir notanda (notanda), hópa (hóp) og aðra (annað). Þú getur notað þessa skipun í tveimur stillingum: hlutfallslegri stillingu og algerri stillingu. Í algerri stillingu eru þrír tölustafir notaðir til að stilla grunnheimildir.

Heimildir í Linux (chown, chmod, SUID, GUID, Sticky bit, ACL, umask)

Þegar þú setur heimildir skaltu reikna út gildið sem þú þarft. Ef þú vilt stilla lesa / skrifa / keyra fyrir notanda, lesa / keyra fyrir hóp og lesa / keyra fyrir aðra í / sumefile þá notarðu eftirfarandi skipun Chmod:

chmod 755 /somefile

Þegar þú notar Chmod á þennan hátt er öllum núverandi heimildum skipt út fyrir þær heimildir sem þú stillir.

Ef þú vilt breyta heimildum miðað við núverandi heimildir geturðu notað Chmod í hlutfallslegum ham. Notar Chmod í hlutfallslegum ham vinnurðu með þrjá vísbendingar til að gefa til kynna hvað þú vilt gera:

  1. Fyrst tilgreinir þú fyrir hverja þú vilt breyta heimildum. Til að gera þetta geturðu valið á milli notenda (u), hópur (g) og aðrir (o).
  2. Þú notar síðan yfirlýsingu til að bæta við eða fjarlægja heimildir úr núverandi stillingu, eða stilla þær algerlega.
  3. Í lokin notarðu r, w и xtil að tilgreina hvaða heimildir þú vilt stilla.

Þegar heimildum er breytt í hlutfallslegri ham geturðu sleppt „til“ hlutanum til að bæta við eða fjarlægja heimildir fyrir alla hluti. Til dæmis bætir þessi skipun við keyrsluheimild fyrir alla notendur:

chmod +x somefile

Þegar unnið er í hlutfallslegum ham geturðu líka notað flóknari skipanir. Til dæmis bætir þessi skipun skrifheimildir við hóp og fjarlægir lesheimild fyrir aðra:

chmod g+w,o-r somefile

Þegar á chmod -R o+rx /data þú stillir keyrsluheimild fyrir allar möppur sem og skrár í /data möppunni. Til að stilla framkvæmdarheimild aðeins fyrir möppur en ekki fyrir skrár, notaðu chmod -R o+ rX /gögn.

Hástafur X tryggir að skrár fái ekki keyrsluheimild nema skráin hafi þegar stillt keyrsluheimild fyrir suma hluti. Þetta gerir X að betri leið til að takast á við framkvæmdarheimildir; þetta mun forðast að setja þessa heimild á skrár þar sem þess er ekki þörf.

Útvíkkuð réttindi

Til viðbótar við grunnheimildirnar sem þú varst að lesa um, hefur Linux einnig sett af háþróaðri heimildum. Þetta eru ekki heimildirnar sem þú setur sjálfgefið, en stundum veita þær gagnlega viðbót. Í þessum hluta lærir þú hvað þau eru og hvernig á að setja þau upp.

Skilningur á SUID, GUID og Sticky Bit Extended leyfi

Það eru þrjár háþróaðar heimildir. Fyrsta þeirra er leyfið til að stilla notendaauðkenni (SUID). Í sumum sérstökum tilfellum geturðu notað þessa heimild á keyranlegar skrár. Sjálfgefið er að notandi sem keyrir executable keyrir þá skrá með eigin heimildum.

Fyrir venjulega notendur þýðir þetta venjulega að notkun forritsins er takmörkuð. Hins vegar, í sumum tilfellum, þarf notandinn sérstakar heimildir, aðeins til að framkvæma ákveðið verkefni.

Hugleiddu til dæmis aðstæður þar sem notandi þarf að breyta lykilorði sínu. Til að gera þetta verður notandinn að skrifa nýja lykilorðið sitt í /etc/shadow skrána. Hins vegar er ekki hægt að skrifa þessa skrá fyrir notendur sem ekki eru rót:

root@hnl ~]# ls -l /etc/shadow
----------. 1 root root 1184 Apr 30 16:54 /etc/shadow

SUID leyfið býður upp á lausn á þessu vandamáli. /usr/bin/passwd tólið notar þessa heimild sjálfgefið. Þetta þýðir að þegar lykilorðinu er breytt verður notandinn tímabundið rót, sem gerir honum kleift að skrifa í /etc/shadow skrána. Þú getur séð SUID leyfið með ls-l sem s í stöðu þar sem þú myndir venjulega búast við að sjá x fyrir sérsniðnar heimildir:

[root@hnl ~]# ls -l /usr/bin/passwd
-rwsr-xr-x. 1 root root 32680 Jan 28 2010 /usr/bin/passwd

SUID leyfið kann að virðast gagnlegt (og í sumum tilfellum er það), en á sama tíma er það hugsanlega hættulegt. Ef ekki er beitt rétt geturðu fyrir slysni gefið rótarheimildir. Þess vegna mæli ég með því að nota það aðeins með fyllstu varúð.

Flestir stjórnendur munu aldrei þurfa að nota það; þú munt aðeins sjá það í sumum skrám þar sem stýrikerfið ætti að stilla það sjálfgefið.

Annað sérstaka leyfið er hópauðkenni (SGID). Þessi heimild hefur tvenns konar áhrif. Þegar það er notað á keyrsluskrá gefur það notandanum sem keyrir skrána heimildir hópeiganda skráarinnar. Þannig að SGID getur gert meira og minna það sama og SUID. Hins vegar er SGID nánast ekki notað í þessum tilgangi.

Eins og með SUID leyfi er SGID beitt á sumar kerfisskrár sem sjálfgefin stilling.

Þegar það er notað á möppu getur SGID verið gagnlegt vegna þess að þú getur notað það til að stilla sjálfgefna hópeiganda fyrir skrár og undirmöppur sem eru búnar til í þeirri möppu. Sjálfgefið er að þegar notandi býr til skrá er virki aðalhópurinn þeirra stilltur sem hópeigandi fyrir þá skrá.

Þetta er ekki alltaf mjög gagnlegt, sérstaklega þar sem Red Hat/CentOS notendur eru með aðalhópinn sinn stilltan á hóp með sama nafni og notandinn og notandinn er eini meðlimurinn í. Þannig er sjálfgefið að skrárnar sem notandinn býr til verður deilt í lausu.

Ímyndaðu þér aðstæður þar sem notendur linda og lori vinna við bókhald og eru meðlimir í hópi Reikningur. Sjálfgefið er að þessir notendur eru meðlimir einkahóps sem þeir eru eini meðlimurinn í. Hins vegar eru báðir notendur meðlimir reikningshópsins, en einnig sem aukahópsbreytu.

Sjálfgefið ástand er að þegar einhver þessara notenda býr til skrá verður aðalhópurinn eigandi. Þess vegna, sjálfgefið, getur linda ekki nálgast skrár búnar til af lori, og öfugt. Hins vegar, ef þú býrð til sameiginlega hópskrá (td /groups/account) og tryggir að SGID heimildinni sé beitt á þá möppu og að hópreikningurinn sé stilltur sem hópeigandi fyrir þá möppu, allar skrár sem búnar eru til í þeirri möppu og allar af undirmöppum þess, fá einnig hópreikninginn sem hópeiganda sjálfgefið.

Af þessum sökum er SGID leyfið mjög gagnlegt leyfi til að setja á opinberar hópskrár.

SGID heimild sýnd í úttakinu ls-l sem s á stöðunni þar sem þú myndir venjulega finna leyfi til að framkvæma hóp:

[root@hnl data]# ls -ld account
drwxr-sr-x. 2 root account 4096 Apr 30 21:28 account

Þriðja sérheimildanna er klístur bitinn. Þessi heimild er gagnleg til að vernda skrár gegn eyðingu fyrir slysni í umhverfi þar sem margir notendur hafa skrifaðgang að sömu möppunni. Ef klístur biti er notaður getur notandi aðeins eytt skrá ef hann er notandi eigandi skráarinnar eða möppunnar sem inniheldur skrána. Af þessum sökum er það notað sem sjálfgefið leyfi fyrir /tmp skrána og getur einnig verið gagnlegt fyrir almennar hópskrár.

Ef notandinn getur búið til skrár í möppu, án þess að vera klístur, getur hann einnig eytt skrám úr þeirri möppu. Í opinberu hópumhverfi getur þetta verið pirrandi. Ímyndaðu þér notendur linda og lori, sem báðar hafa skrifheimildir í /data/reikningaskrána og fá þær heimildir með því að vera meðlimir reikningshópsins. Þess vegna getur linda eytt skrám sem Lori hefur búið til og öfugt.

Þegar þú notar límbitann getur notandinn aðeins eytt skrám ef eitt af eftirfarandi skilyrðum er uppfyllt:

  • Notandinn er eigandi skráarinnar;
  • Notandinn er eigandi möppunnar þar sem skráin er staðsett.

Þegar á ls-l, þú getur séð Sticky bita sem t í stöðunni þar sem þú myndir venjulega sjá framkvæmdaleyfi fyrir aðra:

[root@hnl data]# ls -ld account/
drwxr-sr-t. 2 root account 4096 Apr 30 21:28 account/

Sækja um aukinn rétt

Til að nota SUID, SGID og Sticky bit geturðu líka notað Chmod. SUID hefur tölugildið 4, SGID hefur tölugildið 2 og Sticky biti hefur tölugildið 1.

Ef þú vilt nota þessar heimildir þarftu að bæta við fjögurra stafa rökum við Chmod, þar sem fyrsti stafurinn vísar til sérstakra heimilda. Eftirfarandi lína mun til dæmis bæta SGID-heimild við skrána og setja rwx fyrir notanda og rx fyrir hóp og aðra:

chmod 2755 /somedir

Þetta er frekar óhagkvæmt ef þú þarft að sjá núverandi heimildir sem eru stilltar áður en þú vinnur með Chmod í algjörum ham. (Þú átt á hættu að skrifa yfir heimildir ef þú gerir það ekki.) Svo ég mæli með að keyra í hlutfallslegum ham ef þú þarft að beita einhverjum af sérstökum heimildum:

  1. Fyrir SUID notkun chmod u+s.
  2. Fyrir SGID notkun chmod g+s.
  3. Til notkunar með límbita chmod +t, fylgt eftir með nafni skráar eða möppu sem þú vilt stilla heimildir fyrir.

Taflan tekur saman allt sem þú þarft að vita um stjórnun sérstakra heimilda.

Heimildir í Linux (chown, chmod, SUID, GUID, Sticky bit, ACL, umask)

Dæmi um að vinna með sérréttindi

Í þessu dæmi notarðu sérstakar heimildir til að auðvelda hópmeðlimum að deila skrám í sameiginlegu hópaskránni. Þú úthlutar auðkennisbitanum við setta hópauðkennið sem og límbitann og þú sérð að þegar þeir eru stilltir er eiginleikum bætt við til að auðvelda hópmeðlimum að vinna saman.

  1. Opnaðu flugstöð þar sem þú ert linda notandi. Þú getur búið til notanda með skipuninni Linda, bæta við lykilorði passwd Linda.
  2. Búðu til /data möppuna í rótinni og /data/sales undirskrána með skipuninni mkdir -p /gögn/sala. Heill cd /gögn/salatil að fara í söluskrána. Heill snerta linda1 и snerta linda2til að búa til tvær tómar skrár í eigu linda.
  3. Framkvæma su-lisa til að skipta núverandi notanda yfir í notandann lisa, sem einnig er meðlimur í söluhópnum.
  4. Framkvæma cd /gögn/sala og keyrðu úr þeirri möppu ls-l. Þú munt sjá tvær skrár sem voru búnar til af linda notandanum og tilheyra linda hópnum. Heill rm -f linda*. Þetta mun fjarlægja báðar skrárnar.
  5. Framkvæma snerta lisa1 и snerta lisa2að búa til tvær skrár sem eru í eigu notandans lisa.
  6. Framkvæma hans - til að hækka forréttindi þín til rótar.
  7. Framkvæma chmod g+s,o+t /gögn/salatil að stilla hópauðkenni (GUID) bita sem og Sticky bita í sameiginlegu hópaskránni.
  8. Framkvæma su-linda. Gerðu þá snerta linda3 и snerta linda4. Þú ættir nú að sjá að skrárnar tvær sem þú bjóst til eru í eigu söluhópsins, sem er hópeigandi /data/sales möppunnar.
  9. Framkvæma rm -rf lisa*. Sticky bitinn kemur í veg fyrir að þessum skrám sé eytt fyrir hönd linda notandans, þar sem þú ert ekki eigandi þessara skráa. Athugaðu að ef linda notandinn er eigandi /data/sales möppunnar getur hann eytt þessum skrám samt!

ACL stjórnun (setfacl, getfacl) í Linux

Jafnvel þó að auknu heimildirnar sem fjallað er um hér að ofan bæti gagnlegri virkni við hvernig Linux meðhöndlar heimildir, þá leyfir það þér ekki að veita fleiri en einum notanda eða hópi heimildir í sömu skránni.

Aðgangsstýringarlistar bjóða upp á þennan eiginleika. Að auki gera þeir stjórnendum kleift að stilla sjálfgefnar heimildir á flókinn hátt, þar sem settar heimildir geta verið mismunandi frá möppu til möppu.

Að skilja ACLs

Þó að ACL undirkerfið bæti frábærri virkni við netþjóninn þinn, þá hefur það einn ókost: ekki öll tól styðja það. Þess vegna gætirðu glatað ACL stillingunum þínum þegar þú afritar eða færir skrár og öryggisafritshugbúnaðurinn þinn gæti ekki tekið öryggisafrit af ACL stillingunum þínum.

Tar tólið styður ekki ACL. Til að tryggja að ACL stillingar glatist ekki þegar þú býrð til öryggisafrit skaltu nota stjörnu í stað tjöru. stjörnu virkar með sömu valkosti og tar; það bætir bara við stuðningi við ACL stillingar.

Þú getur líka tekið öryggisafrit af ACL með getfacl, sem hægt er að endurheimta með setfacl skipuninni. Til að búa til öryggisafrit, notaðu getfacl -R /directory > file.acls. Til að endurheimta stillingar úr öryggisafriti, notaðu setfacl --restore=skrá.acl.

Skortur á stuðningi sumra verkfæra ætti ekki að vera vandamál. ACL er oft beitt á möppur sem skipulagsráðstöfun frekar en á einstakar skrár.
Þeir verða því ekki margir, heldur fáir, beittir á snjöllum stöðum í skráarkerfinu. Þess vegna er tiltölulega auðvelt að endurheimta upprunalegu ACLs sem þú vannst með, jafnvel þótt öryggisafritunarhugbúnaðurinn þinn styðji þá ekki.

Undirbúningur skráarkerfisins fyrir ACL

Áður en þú byrjar að vinna með ACL, gætirðu þurft að undirbúa skráarkerfið til að styðja ACL. Þar sem lýsigögn skráakerfis þarf að víkka út er ekki alltaf sjálfgefinn stuðningur fyrir ACL í skráarkerfinu. Ef þú færð "aðgerð ekki studd" skilaboð þegar þú setur upp ACL fyrir skráarkerfi, gæti skráarkerfið þitt ekki stutt ACLs.

Til að laga þetta þarftu að bæta við valkostinum acl festing í /etc/fstab þannig að skráarkerfið er sjálfgefið tengt ACL stuðningi.

Að breyta og skoða ACL stillingar með setfacl og getfacl

Til að stilla ACL þarftu skipunina setfacl. Til að sjá núverandi ACL stillingar þarftu getfacl. Lið ls-l sýnir ekki nein núverandi ACL; það sýnir bara + á eftir heimildalistanum, sem gefur til kynna að ACL gildi um skrána líka.

Áður en ACL er sett upp er alltaf góð hugmynd að sýna núverandi ACL stillingar með getfacl. Í dæminu hér að neðan geturðu séð núverandi heimildir, eins og sýnt er með ls-l, og einnig eins og sýnt er með getfacl. Ef þú skoðar nógu vel muntu sjá að upplýsingarnar sem sýndar eru eru nákvæmlega þær sömu.

[root@server1 /]# ls -ld /dir
drwxr-xr-x. 2 root root 6 Feb 6 11:28 /dir
[root@server1 /]# getfacl /dir
getfacl: Removing leading '/' from absolute path names
# file: dir
# owner: root
# group: root
user::rwx
group::r-x
other::r-x

Sem afleiðing af framkvæmd skipunarinnar getfacl hér að neðan geturðu séð að heimildirnar eru sýndar fyrir þrjá mismunandi hluti: notanda, hóp og aðra. Nú skulum við bæta við ACL til að gefa söluhópnum les- og framkvæmdaheimildir líka. skipun fyrir þetta setfacl -mg:sala:rx /dir. Í þessu liði -m gefur til kynna að breyta þurfi núverandi ACL stillingum. Eftir það g:sala:rx segir skipuninni að stilla read-execute ACL (rx) fyrir hópinn (g) sölu. Hér að neðan má sjá hvernig skipunin lítur út, sem og úttak getfacl skipunarinnar eftir að hafa breytt núverandi ACL stillingum.

[root@server1 /]# setfacl -m g:sales:rx /dir
[root@server1 /]# getfacl /dir
getfacl: Removing leading '/' from absolute path names
# file: dir
# owner: root
# group: root
user::rwx
group::r-x
group:sales:r-x
mask::r-x
other::r-x

Nú þegar þú skilur hvernig á að setja upp ACL hóp er auðvelt að skilja ACL fyrir notendur og aðra notendur. Til dæmis skipunina setfacl -mu:linda:rwx /gögn gefur leyfi til notanda linda í /data möppunni án þess að gera hann að eiganda eða breyta úthlutun núverandi eiganda.

Team setfacl hefur marga eiginleika og valkosti. Einn valkostur er sérstaklega mikilvægur, færibreytan -R. Ef hann er notaður gerir valmöguleikinn ACL stillt fyrir allar skrár og undirmöppur sem eru til í möppunni þar sem þú stillir ACL. Mælt er með því að þú notir alltaf þennan valkost þegar þú breytir ACL fyrir núverandi möppur.

Vinna með sjálfgefna ACL

Einn af kostunum við að nota ACL er að þú getur veitt leyfi til margra notenda eða hópa í möppu. Annar ávinningur er að þú getur virkjað arfleifð með því að vinna með sjálfgefna ACL.

Með því að stilla sjálfgefna ACL, ákvarðar þú heimildirnar sem verða settar fyrir alla nýja hluti sem eru búnir til í skránni. Vertu meðvituð um að sjálfgefið ACL breytir ekki heimildum á núverandi skrám og undirmöppum. Til að breyta þeim þarftu líka að bæta við venjulegu ACL!

Þetta er mikilvægt að vita. Ef þú vilt nota ACL til að stilla marga notendur eða hópa til að fá aðgang að sömu skránni, verður þú að stilla ACL tvisvar. Fyrsta notkun setfacl -R -mtil að breyta ACL fyrir núverandi skrár. Notaðu síðan setfacl-md:að sjá um alla nýja þætti sem einnig verða til.

Til að stilla sjálfgefna ACL þarftu bara að bæta við valkostinum d eftir valmöguleika -m (röð skiptir máli!). Svo nota setfacl -md:g:sala:rx /gögnef þú vilt að hópsala lesi og framkvæmi það sem er búið til í /data möppunni.

Þegar þú notar sjálfgefna ACL getur það líka verið gagnlegt að stilla ACL fyrir aðra. Þetta þýðir venjulega ekki mikið sens því þú getur líka breytt heimildum fyrir aðra sem nota Chmod. Hins vegar það sem þú getur ekki gert við Chmod, er að tilgreina réttindin sem þarf að veita öðrum notendum fyrir hverja nýja skrá sem er alltaf búin til. Ef þú vilt koma í veg fyrir að aðrir fái heimildir á einhverju sem er búið til í /gögnum, td notað setfacl -md:o::- /gögn.

ACL og venjulegar heimildir eru ekki alltaf vel samþættar. Vandamál geta komið upp ef þú notar sjálfgefið ACL á möppu, þá er hlutum bætt við þá möppu og reynir síðan að breyta venjulegum heimildum. Breytingar sem gilda um venjulegar heimildir endurspeglast ekki vel í yfirliti ACL. Til að forðast vandamál, stilltu venjulegar heimildir fyrst, stilltu síðan sjálfgefna ACL (og reyndu að breyta þeim ekki aftur eftir það).

Dæmi um hækkuð réttindastjórnun sem notar ACL

Í þessu dæmi muntu halda áfram með /data/account og /data/sales maps sem þú bjóst til áður. Í fyrri dæmunum tryggðir þú að söluhópurinn hafi heimildir á /data/sales og reikningshópurinn hefur heimildir á /data/account.

Fyrst skaltu ganga úr skugga um að reikningshópurinn fái lesheimildir á /data/sales skránni og söluhópurinn fær lesheimildir á /data/account skránni.

Þú stillir síðan sjálfgefna aðgangsheimildir til að ganga úr skugga um að allar nýjar skrár hafi réttar heimildir settar fyrir öll ný atriði.

  1. Opnaðu flugstöð.
  2. Framkvæma setfacl -mg:reikningur:rx /gögn/sala и setfacl -mg:sala:rx /gögn/reikningur.
  3. Framkvæma getfacltil að tryggja að heimildirnar væru stilltar eins og þú vildir.
  4. Framkvæma setfacl -md:g:reikningur:rwx,g:sala:rx /gögn/salatil að stilla sjálfgefið ACL fyrir söluskrána.
  5. Bættu við sjálfgefnum ACL fyrir /data/account skrána með því að nota setfacl -md:g:sala:rwx,g:reikningur:rx /gögn/reikningur.
  6. Staðfestu að ACL stillingarnar séu í gildi með því að bæta nýrri skrá við /data/sales. Heill snertu /gögn/sala/nýskrá og framkvæma getfacl /data/sales/newfile til að athuga núverandi heimildir.

Stillir sjálfgefnar heimildir með umask

Hér að ofan lærðir þú hvernig á að vinna með sjálfgefna ACL. Ef þú ert ekki að nota ACL, þá er skelvalkostur sem ákvarðar sjálfgefna heimildir sem þú færð: umask (öfug gríma). Í þessum hluta muntu læra hvernig á að breyta sjálfgefnum heimildum með umask.

Þú gætir hafa tekið eftir því að þegar þú býrð til nýja skrá eru nokkrar sjálfgefnar heimildir stilltar. Þessar heimildir eru ákvarðaðar af stillingunni umask. Þessi skeljastilling á við alla notendur við innskráningu. Í breytu umask notað er tölulegt gildi sem er dregið frá hámarksheimildum sem hægt er að stilla sjálfkrafa fyrir skrána; hámarksstillingin fyrir skrár er 666 og fyrir möppur er 777.

Þó gilda nokkrar undantekningar frá þessari reglu. Þú getur fundið heildaryfirlit yfir stillingar umask í töflunni hér að neðan.

Af þeim tölum sem notaðar eru í umask, eins og þegar um er að ræða töluleg rök fyrir skipuninni Chmod, fyrsti stafurinn vísar til heimilda notandans, annar stafurinn vísar til heimilda hópsins og sá síðasti vísar til sjálfgefna heimilda sem settar eru fyrir aðra. Merking umask sjálfgefið 022 gefur 644 fyrir allar nýjar skrár og 755 fyrir allar nýjar möppur sem eru búnar til á þjóninum þínum.

Fullkomið yfirlit yfir öll tölugildi umask og niðurstöður þeirra í töflunni hér að neðan.

Heimildir í Linux (chown, chmod, SUID, GUID, Sticky bit, ACL, umask)

Auðveld leið til að sjá hvernig umask stillingin virkar er sem hér segir: Byrjaðu á sjálfgefnum heimildum skráarinnar stillt á 666 og dragðu úr umask til að fá virkar heimildir. Gerðu það sama fyrir möppuna og sjálfgefnar heimildir hennar 777.

Það eru tvær leiðir til að breyta umask stillingunni: fyrir alla notendur og fyrir einstaka notendur. Ef þú vilt stilla umask fyrir alla notendur, verður þú að tryggja að umask stillingin sé tekin með í reikninginn þegar þú byrjar skeljaumhverfisskrár, eins og tilgreint er í /etc/profile. Rétt aðferð er að búa til skeljaforskrift sem heitir umask.sh í /etc/profile.d möppunni og tilgreina umask sem þú vilt nota í því skelforriti. Ef umask er breytt í þessari skrá er það notað á alla notendur eftir að hafa skráð sig inn á netþjóninn.

Annar valkostur við að stilla umask í gegnum /etc/profile og tengdar skrár, þar sem það á við um alla notendur sem skrá sig inn, er að breyta umask stillingum í skrá sem heitir .profile og er búin til í heimaskrá hvers notanda.

Stillingarnar sem notaðar eru í þessari skrá eiga aðeins við um einstaka notanda; Þess vegna er þetta góð aðferð ef þú þarft frekari smáatriði. Mér persónulega líkar þessi eiginleiki til að breyta sjálfgefna umask fyrir rót notandann í 027 á meðan venjulegir notendur eru að keyra með sjálfgefna umask af 022.

Vinna með útbreidda notendaeiginleika

Þetta er lokahlutinn um Linux heimildir.

Þegar unnið er með heimildir er alltaf samband á milli notanda eða hóphluts og þeirra heimilda sem notandi eða hóphlutir hafa á skrá eða möppu. Önnur aðferð til að vernda skrár á Linux netþjóni er að vinna með eiginleika.
Eiginleikar vinna starf sitt óháð því hvaða notandi hefur aðgang að skránni.

Eins og með ACL, gætu skráareiginleikar þurft að innihalda valkostinn fjall.

Þetta er valmöguleiki user_xattr. Ef þú færð "aðgerð ekki studd" skilaboð þegar þú vinnur með útbreidda notendaeiginleika, vertu viss um að stilla færibreytuna fjall í /etc/fstab.

Margir eiginleikar eru skjalfestir. Sumir eiginleikar eru tiltækir en ekki útfærðir ennþá. Ekki nota þau; þeir munu ekki færa þér neitt.

Hér að neðan eru gagnlegustu eiginleikarnir sem þú getur notað:

A Þessi eiginleiki tryggir að skráaraðgangstími skrárinnar breytist ekki.
Venjulega, í hvert sinn sem skrá er opnuð, verður aðgangstími skráarinnar að vera skráður í lýsigögn skráarinnar. Þetta hefur neikvæð áhrif á frammistöðu; svo fyrir skrár sem eru reglulega opnaðar, eigindin A hægt að nota til að slökkva á þessum eiginleika.

a Þessi eiginleiki gerir þér kleift að bæta við en ekki fjarlægja skrá.

c Ef þú ert að nota skráarkerfi sem styður þjöppun á hljóðstyrk, tryggir þessi skráareiginleiki að skráin sé þjöppuð í fyrsta skipti sem þjöppunarkerfið er virkt.

D Þessi eiginleiki tryggir að breytingar á skrám séu skrifaðar strax á diskinn frekar en í skyndiminni fyrst. Þetta er gagnlegur eiginleiki á mikilvægum gagnagrunnsskrám til að tryggja að þær týnist ekki á milli skyndiminni skráar og harða disksins.

d Þessi eiginleiki tryggir að skráin verði ekki vistuð í afritum þar sem sorphaugaforritið er notað.

I Þessi eiginleiki gerir skráningu kleift fyrir möppuna þar sem hún er virkjuð. Þetta veitir hraðari skráaaðgang fyrir frumstæð skráarkerfi eins og Ext3 sem nota ekki B-tré gagnagrunninn fyrir skjótan skráaaðgang.

i Þessi eiginleiki gerir skrána óbreytanlega. Þess vegna er ekki hægt að gera neinar breytingar á skránni, sem er gagnlegt fyrir skrár sem þurfa frekari vernd.

j Þessi eiginleiki tryggir að á ext3 skráarkerfi er skráin fyrst skrifuð í dagbókina og síðan í gagnablokkir á harða disknum.

s Skrifaðu yfir blokkina sem skráin var vistuð í í 0s eftir að skránni hefur verið eytt. Þetta tryggir að ekki er hægt að endurheimta skrá þegar henni hefur verið eytt.

u Þessi eiginleiki geymir upplýsingar um eyðinguna. Þetta gerir þér kleift að þróa tól sem vinnur með þessar upplýsingar til að bjarga eyddum skrám.

Ef þú vilt nota eiginleikana geturðu notað skipunina spjall. Til dæmis, notaðu chattr +s einhver skrátil að beita eiginleikum á einhverja skrá. Þarftu að fjarlægja eiginleika? Notaðu síðan chattr -s einhver skráog það verður fjarlægt. Til að fá yfirsýn yfir alla eiginleika sem eru notaðir, notaðu skipunina lsattr.

Yfirlit

Í þessari grein lærðir þú hvernig á að vinna með heimildir. Þú lest um þrjár grunnheimildir, háþróaðar heimildir og hvernig á að nota ACL á skráarkerfi. Þú lærðir líka hvernig á að nota umask valkostinn til að beita sjálfgefnum heimildum. Í lok þessarar greinar lærðir þú hvernig á að nota notendaútbreidda eiginleika til að beita viðbótarlagi af öryggisskráakerfi.

Ef þér líkaði við þessa þýðingu, vinsamlegast skrifaðu um hana í athugasemdunum. Það verður meiri hvatning til að gera gagnlegar þýðingar.

Leiðrétti nokkrar innsláttar- og málfarsvillur í greininni. Fækkaði nokkrar fyrirferðarmiklar málsgreinar í smærri fyrir betri læsileika.

Í stað þess að "Aðeins einhver með stjórnunarréttindi á skránni getur sótt um framkvæmdarheimild." fastur við "Aðeins einhver með skrifheimildir á möppunni getur beitt execute leyfi.", sem væri réttara.

Takk fyrir athugasemdirnar berez.

Skipt um:
Ef þú ert ekki eigandi notandans mun skelin athuga hvort þú sért meðlimur í hópi, einnig þekktur sem hópur skráarinnar.

Á:
Ef þú ert ekki eigandi skráarinnar mun skelin athuga hvort þú sért meðlimur í hópi sem hefur heimildir á skránni. Ef þú ert meðlimur í þessum hópi muntu fá aðgang að skránni með þeim heimildum sem hópurinn hefur stillt og skelin hættir að athuga.

Þakka þér fyrir athugasemdina CryptoPirate

Heimild: www.habr.com

Bæta við athugasemd