status=200/CHDIR: systemd waligiis ma bilaabin OpenVPN
Cilladda CHDIR macneheedu waa in systemd uu ku guuldareystay gelidda galka, ma aha in OpenVPN uu ku guuldareystay akhrinta profile. Akhri unit-ka ka hor intaadan taaban dejinta VPN.
Adeeggu wuu guuldareystaa, diiwaannada waxay sheegaan spawn iyo gal, oo dareenka ugu horreeya ayaa ah in la hubiyo dejinta VPN. Faylkaas waxba lama akhrin weli. systemd wuxuu ku guuldareystay intii uu diyaarinayay hawsha, ka hor intii aanu faylka fulinta socon, sidaas darteed ma jiro parser, ma jiro shahaado iyo ma jiro martigeliyaha fog oo la tashaday. Akhrinta koodhka xaaladda sida hadal ku saabsan systemd halkii ay ka ahaan lahayd OpenVPN ayaa tan u beddela baaritaan gaaban.
Akhri koodhka xaaladda ka hor barnaamijka
Koodhka tirooyinka ee ka dambeeya magaca adeegga wuxuu magacaabaa marxaladda guuldareystay. Cilladda galka waxaa lagu soo sheegaa sida xaalad CHDIR, halka faylka fulinta ee aan la socon karin uu yahay koodh gebi ahaan kale. Labaduba waxay u eg yihiin hal saf oo kooban oo sababahoodana wax la wadaaga ma leh.
Farqigaas waa muhiim sababtoo ah hagaajinta waxay ku jirtaa faylal kala duwan. Cilladda CHDIR waxay ku saabsan tahay waddo iyo sida adeeggu u arko. Cilladda exec waxay ku saabsan tahay binary-ga, tarjumaankiisa ama mount aan la xiriirin. Beddelka remote-ka VPN, liiska siferka ama waddada shahaadda ma xallin karo midkoodna.
Xaqiiji in cilladdu ay tahay bilowga, ma aha ka dib socod guuleystay. Haddii adeeggu shalay shaqeynayay oo uu hadda ku guuldareysto isla marxaladdaas, wax baa isbeddelay galka, fasaxdiisa ama unit-ka laftiisa, isbeddelkaasna waa caddaynta la raadinayo.
Weydii unit-ka meesha uu rabo inuu joogo
Akhri unit-ka waxtarka leh halkii aad ka akhrin lahayd faylka aad u malaynayso in la rakibay, sababtoo ah drop-in-yada waxay beddeli karaan galka shaqada iyada oo aanad weligaa tafatirin unit-ka weyn. Soo-saarista show waxay si toos ah uga jawaabtaa su'aasha:
systemctl cat [email protected]
systemctl show [email protected] -p WorkingDirectory -p RootDirectory -p User -p ProtectHome
journalctl -u [email protected] -b --no-pager | tail -30
Qaabka adeegga upstream, galka shaqadu waa galka dejinta adeegga oo magaca instance-ku wuxuu doortaa profile-ka gudaha. Instance la yiraahdo branch sidaas darteed wuxuu filanayaa faylkiisa galkaas, profile-ka meel kale la dhigo si buuxda uma buuxiyo shuruudda galka shaqada.
Isbarbardhig waxa unit-ku codsado iyo waxa jira. Waddo hore u jirtay, xiriir calaamadeed oo hadda meel kale tilmaamaya, ama magac instance oo aan hadda u dhigmin gal, dhammaantood waa isbeddello caadi ah oo keena cilladdan saxda ah.
Hubi waddada sida adeeggu u arko
Shell-kaaga iyo adeeggu isku mid ma wadaagaan aragtida nidaamka faylasha. Gal xidid ama sawir xidid oo la dejiyay waxay beddelaan macnaha waddo buuxda gudaha unit-ka, waddo si cad ugu jirta martigeliyaha ayaa laga yaabaa inay ka maqan tahay namespace-kaas. Akhri dejinta unit-ka ka hor intaadan aaminin imtixaan gacan ah.
Fasaxyadu way ka sii xumeeyaan dhibaatada. Adeeggu wuxuu ku socdaa isticmaale gaar ah, isticmaalahaasna waa inuu mari karaa gal kasta oo waalid ah si uu u gaaro bartilmaameedka, ma aha oo kaliya inuu akhriyo bartilmaameedka laftiisa. Gal root akhriyi karo laakiin aan isticmaalaha adeeggu mari karin waxay keentaa cillad u eg waddo maqan.
namei -l /etc/openvpn/server
systemctl show [email protected] -p ProtectSystem -p ReadOnlyPaths
Dejinta adkaynta sidoo kale waa qayb ka mid ah sawirkan. Unit-ka qariya galka guriga ama qayb ka mid ah nidaamka faylasha ka dhigaya akhris-kaliya wuxuu sameynayaa si sax ah waxa loo dejiyay, galka shaqaduna waa inuu ku noolaadaa meel uu sandbox-ku wali soo bandhigo.
Hagaaji milkiilaha, ka dibna filo khalad kale
Hagaaji qaabka ama unit-ka iyada oo loo marayo qofka leh dejintaas. Profile-ka u raridda galka la filayo waa hagaajin sharci ah marka qaabku khaldan yahay, laakiin ma sharaxdo gal aan la geli karin, sidaas darteed ha u qaadan jawaab guud.
Ka hortag waddada gaaban ee ballaarinta fasaxyada geedka dejinta ama ka saarista sandbox-ka. Labaduba waxay meesha ka saaraan calaamadda iyagoo meesha ka saaraya ilaalinta si ula kac ah loo dhigay, khaladka xigana way adkaan doontaa in la fasiraa.
Dib u bilow instance-ka oo akhri dhacdada xigta halkii aad ka qaadan lahayd guul. Khaladka xiga ee suurtagalka ah ayaa ah in OpenVPN uusan furi karin faylkiisa dejinta, taas oo horumar ah: galka shaqada waa la galay oo parser-ku hadda wuu socdaa. Halkaas ka raac khariidaynta faylasha dhabta ah ee unit-ka halkii aad ku laaban lahayd xallinta dhibaatooyinka shabakadda.
Tixraaca fulinta systemd wuxuu qeexayaa sida galka shaqada loo fasiiro iyadoo la socota galalka xididka iyo sandbox-ka. Qaabka la xasuusto waa fudud: koodh kasta oo xaalad ah wuxuu magacaabaa marxalad kale, oo kaliya khalada barnaamijka laftiisa ayaa qeexaya barnaamijka.