Il-job jiġri fil-login, il-log juri l-klijent jibda, imma l-mina qatt ma titla'. Jew titla' u tisparixxi ftit sekondi wara. Fiż-żewġ każi l-lista tal-proprjetajiet x'aktarx kienet sew. launchd għamel żewġ wegħdiet meta aċċetta l-job: se jissorvelja proċess, u dak il-proċess se jibqa' għaddej. Il-VPN jeħtieġ it-tnejn, u fajl XML korrett ma jipprovdi l-ebda waħda.

Lista tal-proprjetajiet valida mhijiex servizz li jaħdem

plutil -lint jiċċekkja l-istruttura. Ma jistax jgħidlek jekk il-binarju jeżistix, jekk l-argumenti humiex appoġġjati minn din il-verżjoni tal-klijent, jew jekk il-job jibdiex f'kuntest fejn il-kredenzjali huma disponibbli. Dawn huma mistoqsijiet semantiċi, u dawn jispjegaw ħafna mill-fallimenti li jidhru bħala problemi ta' launchd.

plutil -lint /Library/LaunchDaemons/com.example.vpn.plist
launchctl print system/com.example.vpn

Aqra l-output tat-tieni kmand minflok tassumi li l-job ġie mgħobbi. Dan jirrapporta l-aħħar status tal-ħruġ u jekk is-servizz huwiex għaddej, li jiddistingwi "qatt ma beda" minn "beda u miet" qabel ma tmiss il-profil.

L-aġenti jirtu sessjoni tal-utent, id-daemons le

Id-dokumentazzjoni ta' Apple dwar launchd tifred l-aġenti ta' kull utent mid-daemons tas-sistema. Aġent jiġri fil-kuntest tal-utent illoggjat, mal-keychain u l-ambjent ta' dak l-utent. Daemon jiġri mingħajr dik is-sessjoni, u li tmexxi job f'direttorju tas-sistema ma toħloqx mill-ġdid il-kredenzjali interattivi tal-utent.

Din id-differenza tiddetermina d-disinn. Jekk il-konnessjoni teħtieġ li persuna tidħol jew tapprova prompt MFA, l-arranġament appoġġjat huwa job fis-sessjoni tal-utent li jiġri wara l-login. Jekk irid jaħdem mingħajr ħadd illoggjat, il-klijent jeħtieġ identità mhux sorveljata approvata bil-proċess tiegħu ta' tiġdid u revoka. L-għażla tal-linja żbaljata tipproduċi job li jibda nadif u jfalli fl-ewwel pass tal-awtentikazzjoni.

Tgħattix id-differenza b'password fl-array tal-argumenti jew billi tiddiżattiva l-verifiki taċ-ċertifikati. It-tnejn ibiddlu rekwiżit ta' awtentikazzjoni f'sigriet permanenti f'fajl li jinqara, u t-tieni jfisser li l-mina tawtentika kull ma jwieġeb.

Is-sorveljanza taħdem biss jekk il-proċess jibqa' quddiem

Klijent li jagħmel lilu nnifsu daemon jirritorna l-kontroll lil launchd minnufih, u mbagħad is-sorveljant jara proċess li diġà spiċċa. Il-mina tista' tkun 'il fuq, imma launchd jaħseb li l-job falla, u l-politika tiegħu ta' restart tagħmel xi ħaġa li ma ridtx.

Uża l-mod quddiem jew tas-servizz dokumentat mill-klijent. Jekk il-prodott għandu karatteristika tal-bidu appoġġjata tiegħu stess, dik il-karatteristika diġà taf kif tibqa' quddiem u kif tgħaddi lin-netwerk stack; job personalizzat huwa disinn separat, mhux titjib tiegħu.

Agħti lill-job tikketta unika, l-eżekuttabbli maħsub u array ta' argumenti maħsub. Array mhuwiex linja tal-kmand tal-shell, allura pipes u redirezzjonijiet ma jaħdmux hemm, u l-imġieba tal-kwotazzjoni hija differenti. Kmand li jirnexxi fit-terminal ta' amministratur huwa l-iktar verifika preliminari.

Il-kredenzjali iridu jaħdmu mingħajr prompt

L-operat mingħajr sorveljanza jċaqlaq il-problema tal-kredenzjali minflok ma jneħħiha. Xi ħadd irid ikollu l-identità, jiddeċiedi kemm iddum ħajja, u jiddokumenta kif tiġi sostitwita. Ċertifikat mingħajr monitoraġġ tal-iskadenza jsir waqfa b'data fil-kalendarju.

Żomm is-sigrieti 'l barra mill-argumenti u 'l barra mill-output standard tal-job. Jekk il-klijent jappoġġja l-qari ta' kredenzjal minn maħżen protett, uża dak il-passaġġ, u ċċekkja li l-kuntest tal-eżekuzzjoni tal-job jista' jasal għall-maħżen. Daemon li jiġri bħala root normalment ma jistax jaqra oġġett fil-keychain tal-login, u dan huwa tip ta' dettall li jidher biss fil-kuntest tas-sistema.

Iddefinixxi xi jfisser lesta, imbagħad ittestja hemm

Tnedija b'suċċess tipprova li l-proċess beda. Ma tipprovax li n-netwerk huwa 'l fuq, li l-gateway aċċetta l-identità, jew li l-applikazzjoni privata hija aċċessibbli. Jekk xi ħaġa oħra tiddependi mill-mina, għandha bżonn sinjal ta' tħejjija li jirrifletti l-konnessjoni, mhux il-ħin tal-bidu tal-job.

It-tentattivi mill-ġdid għandhom ikunu limitati u għandhom jiddistingwu netwerk nieqes minn kredenzjal miċħud. It-tnedija mill-ġdid f'kull falliment ma tistax issewwi ċertifikat skadut u tipproduċi log mimli tentattivi identiċi li jaħbi dak veru.

Aċċetta l-job fil-kuntest li fih tassew se jiġri: l-ebda netwerk fil-boot, login normali, qawmien mill-irqad, u waqfa kkontrollata. Imbagħad irreġistra t-tikketta tal-job, il-verżjoni tal-klijent u r-reviżjoni tal-profil flimkien, sabiex il-persuna li jmiss tirtira servizz attribwibbli minflok fajl li darba ħadem.

Artikli relatati