Vottorð geta staðið í réttri möppu með læsilegri stillingu og root-eign, og þjónustan getur samt tilkynnt að hún geti ekki opnað skrána. Á SELinux-kerfi bendir sú samsetning á eitt tiltekið ferli frekar en á heimildir. Merkið ferðaðist með skránni, því endurnefning býr ekki til nýjan hlut. Inode-ið hélt öryggissamhenginu sem það hafði á gömlu slóðinni, og stefnan fyrir nýju slóðina fékk aldrei tækifæri til að úthluta sínu eigin.

Hvað endurnefning gerir í raun við merki

Skrá ber SELinux-samhengi sitt sem eigindagögn sem eru fest við inode-ið. Endurnefning innan eins skráarkerfis breytir færslunni í möppunni og engu öðru, sem er hratt og atómt, og er ástæðan fyrir því að samhengið lifir flutninginn af. Engin stefna er spurð, ekkert sjálfgefið gildi er notað og engin viðvörun er prentuð.

Afritun hegðar sér öðruvísi. Afrit býr til nýtt inode í áfangamöppunni, og stefnan úthlutar samhengi út frá gerð þeirrar möppu, svo afritað vottorð endar venjulega með réttu merki á meðan flutt vottorð heldur áfram að vera rangt. Þessi eina mismunur útskýrir mestan hluta ruglingsins í þessum flokki mála.

Flutningur milli skráarkerfa fellur aftur á afritunarskilyrði, svo sama skipunin getur hegðað sér öðruvísi á tveimur vélum eftir því hvort /etc býr á sínu eigin rúmmáli. Athugaðu það áður en þú ályktar að tólið sé óáreiðanlegt. Eitt augnaráð á uppsetningartöfluna segir þér hvers konar flutning þú framkvæmdir.

Lestu núverandi merki á móti því vænta

Þrjár skipanir sem eru aðeins til lesturs svara spurningunni án þess að breyta nokkru. Fyrsta sýnir hvað skráin hefur núna, önnur tilkynnir hvað stefnan væntir fyrir nákvæmlega þá slóð, og þriðja listar hverja skrá undir möppunni sem merkið er frábrugðið.

ls -lZ /etc/openvpn/client/office-ca.crt
matchpathcon /etc/openvpn/client/office-ca.crt
restorecon -Rn -v /etc/openvpn/client

Þurrkeyrslan er sú sem á að treysta, því hún nefnir hverja skrá sem samhengið víkur frá stefnunni og lætur kerfið samt ósnert. Ef vottorðið birtist á þeim lista hefur þú fundið misræmið milli þess sem slóðin þýðir og þess sem skráin fullyrðir. Ef það birtist ekki er merkið þegar það sem stefnan vill og tími þinn tilheyrir annars staðar.

Tengdu síðan mismuninn við raunverulega synjun. Misræmi er sönnun um rangt merki, ekki sönnun þess að þjónustan hafi mistekist vegna þess, og viðgerð sem beitt er án samsvarandi synjunar í annálnum er ágiskun með viðbótarskrefum.

Endurheimtu vörpunina í stað þess að finna upp undantekningu

Fyrir staðlaðan stað hefur stefnan þegar varpað slóðinni, svo restorecon beitir henni og verkinu er lokið. Haltu umfangi við möppuna sem þú ert að gera við; að merkja allt skráarkerfið upp á nýtt er hægt, truflandi og grefur upprunalegu mistökin undir mjög mikilli breytingu.

Fyrir sérsniðna möppu skiptir röðin máli, og að snúa henni við framleiðir skipun sem tilkynnir árangur án þess að breyta nokkru. Vörpunin tilheyrir stefnunni, endurmerkingin tilheyrir endanum og þurrkeyrslan tilheyrir fyrir bæði. Að sleppa síðasta hlutnum er leiðin sem slóð sem var aldrei röng verður samt endurmerkt.

semanage fcontext -a -t openvpn_etc_t '/etc/openvpn/custom(/.*)?'
restorecon -Rv /etc/openvpn/custom

restorecon beitir vörpun; það getur ekki fundið eina upp. Ef engin regla lýsir slóðinni er ekkert til að endurheimta úr, og þess vegna verður varanlega vörpunin að vera til staðar fyrir endurmerkinguna. Skráðu hvaða stilling á vörpunina, því annars endurskapa síðari flutningur, pakkauppfærsla eða endurmerking gallann og næsta manneskja byrjar frá núlli.

Hvers vegna chcon er ekki lausnin

chcon skrifar samhengi beint á skrána. Það hefur áhrif strax og er langminnst varanlegi kosturinn sem í boði er, því endurmerking skráarkerfis beitir stefnunni aftur og hendir handvirkum breytingum án þess að spyrja. Skráin lítur út fyrir að vera viðgerð og viðgerðin hefur gildistíma sem enginn skrifaði niður. Það sem þú vilt í staðinn er regla sem lýsir slóðinni, svo hver skrá sem kemur þangað fái sömu meðferð sjálfkrafa.

Verra, það kennir ranga lexíu: undirliggjandi vörpun vantar enn, svo gallinn kemur aftur vikum síðar án augljósrar kveikju og án minnis um viðkomuna. Notaðu chcon aðeins sem tímabundna tilraun til að staðfesta tilgátu, skiptu því síðan út fyrir vörpun sem lifir næstu endurmerkingu, og athugaðu að staðgengillinn sé í raun á sínum stað.

Þegar merkið er rétt og aðgangur mistekst samt

Byrjaðu á yfirmöppunum. Yfirferðarheimild er athuguð á hverjum hluta slóðarinnar, svo rétt merkt vottorð í möppu sem þjónustan kemst ekki inn í er enn ólæsilegt. Bæði SELinux og venjuleg heimild verða að leyfa hvert skref, og að laga annað lagar ekki hitt.

Athugaðu síðan auðkenni ferlisins og eigin sandkassa þjónustunnar. Eining með takmarkandi sandkassa getur neitað aðgangi að skrá sem stefnan myndi fúslega leyfa, og út frá annálarlínunni líta báðar orsakir eins út. Staðfestu hvaða ferli er í raun að spyrja, ekki hvaða þú gerir ráð fyrir að spyrji.

Mundu að reglur dontaudit geta bælt synjarskilaboðum, svo tómur endurskoðunarannáll er veik sönnun en ekki sönnun. Ef stefnan lítur rétt út og aðgangur mistekst samt, rannsakaðu áður en þú býrð til breitt heimildareiningu, og slökktu ekki á SELinux til að láta einkennin hverfa. Báðar styttri leiðirnar gefa kerfi sem virðist virka og öryggisstöðu sem enginn getur lýst. Stutt rannsókn er betri en hvorug þeirra.

Tengdir greinar