Ògiri ń ṣiṣẹ́, ẹ ti ipade àfikún kan, VPN sì já bọ láìsí kíkàn bọ́tìnnì kan pàápàá nínú ẹ̀rọ. Nínú ẹ̀rọ AnyConnect lórí Linux ohun tí wọ́n ròyìn ni ìṣirò ìpàdé kì í ṣe ìtọ́sọ́nà: ẹ̀rọ náà máa kọ àwọn ìpàdé ìwọlé tí ó wà nígbà tí ògiri náà gòkè, ó sì ka òpin èyíkéyìí nínú wọn sí ìdí láti wó ó. Àwọn àyẹ̀wò tí ó wà nísàlẹ̀ máa ń lọ lẹ́sẹẹsẹ, èyí tí ó kọ́kọ́ kùnà yóò sọ fún ọ bóyá ìwà yìí ni ẹ ń rí. Kò sí ohun tí ó dárúkọ ipade nínú ìjáde déédéé ti ẹ̀rọ, ìdí nìyẹn tí ìmọ̀lára àkọ́kọ́, láti dá ẹ̀bi lé ẹ̀rọ ìkójọpọ̀, sábà máa ń jẹ́ iṣẹ́ asán.

Ẹ má bẹ̀rẹ̀ nípa ṣíṣe àtúnṣe àwọn fáìlì ẹ̀rọ. Ìgbésẹ̀ kọ̀ọ̀kan yóò ṣàlàyé bíbọ yìí tàbí yóò yọ olùdíje kan kúrò, àwọn ìgbésẹ̀ tí kò ní owó ni ó kọ́kọ́ wá.

Ya ìpàdé tí ó já sọ́tọ̀ kúrò nínú ìjákulẹ̀ ìpele ìsàlẹ̀

Tún sopọ̀ lẹ́sẹ̀kẹsẹ̀ lẹ́yìn ìjápò. Ògiri tí ó padà wá láàárín ìṣẹ́jú àáyá díẹ̀, lórí àwọn nẹ́tíwọ́kì kan náà, láìsí àwọn ẹ̀rí tuntun, fi hàn pé ohun tí ó mú un ṣẹlẹ̀ wà níbílẹ̀ bí ìpàdé tí ó ti, kì í ṣe ìsopọ̀ òkè tí ó kú, ìrìn Wi-Fi tàbí àkókò ìdúró lórí ẹ̀rọ ìkójọpọ̀. Ògiri tí ó ń dúró lórí Connecting, tàbí tí ó kùnà títí tí ẹ fi yí nẹ́tíwọ́kì padà, jẹ́ àpilẹ̀kọ mìíràn.

Kọ ohun tí ó ṣí nígbà tí ògiri náà gòkè: ipade tí ẹ ti ń ṣiṣẹ́ ẹ̀rọ, shell kejì èyíkéyìí, ìwọlé àwòrán, àti ìpàdé SSH èyíkéyìí láti ẹ̀rọ mìíràn. Ìwé àkọsílẹ̀ yẹn yóò wù ọ́ lọ́nà àáyá díẹ̀, àtúnkọ́ rẹ̀ láti ìrántí lẹ́yìn ìjápò tí ó ń bọ̀ kò ní gbẹ́kẹ̀lé.

Ṣàyẹ̀wò ohun tí ẹ̀rọ kọ sílẹ̀ nígbà ìsopọ̀

Ẹ̀rọ kì í wò àwọn òbí ìlànà tàbí ẹ̀tọ́ ipade. Ó máa ya àwòrán àkójọ àwọn ìpàdé ìwọlé tí ó wà nígbà ìsopọ̀, ó sì máa fi àkójọ yẹn wé ara wọn lẹ́yìn náà; nígbà tí ọmọ ẹgbẹ́ kan bá pòórá, ìfiwéra náà kùnà, ògiri náà sì tẹ̀lé e lọ. Ìdí nìyẹn tí fífẹnẹ́ṣẹ̀ kúlẹ̀ tí ẹ ti sopọ̀ lè jẹ́ aláìléwu nígbà tí fífẹnẹ́ṣẹ̀ kúlẹ̀ ipade àfikún tí kò ní í ṣe pẹ̀lú rẹ̀ ń pa ìsopọ̀: ohun tí ó ṣe pàtàkì ni bóyá ìpàdé yẹn wà nínú àkójọ ìpilẹ̀. Ìfiwéra àkójọ ni, kì í ṣe kíkà, ìdí nìyẹn tí rípo ìpàdé kan lè jẹ́ aláìléèṣe bí pípa ọ̀kan nù.

Ṣe àkójọ ohun tí ẹ̀rọ lè rí kí ẹ tó yí ohunkóhun padà:

who
w
last -n 10
sudo ls -l /run/utmp

Gbogbo ìlà láti who jẹ́ àkọsílẹ̀ ìlànà olùlò nínú utmp. Tí ìpàdé rẹ bá fara hàn ẹ̀mejì, ọ̀kan fún ìwọlé àwòrán àti ọ̀kan fún ipade, àwọn àkọsílẹ̀ méjèèjì wà nígbà ìsopọ̀, méjèèjì sì jẹ́ olùdíje.

Yọ àkọsílẹ̀ rẹ nìkan kúrò nínú utmp

Ọ̀nà àbáyọ tí wọ́n tẹ̀ jáde máa ń jẹ́ kí ìpàdé tí ẹ ń lọ lò má ṣeé rí nínú utmp kí ẹ̀rọ tó bẹ̀rẹ̀. Ètò C kékeré kan máa ń rìn gbá getutent(), ó máa wá àkọsílẹ̀ tí ut_line rẹ̀ dọ́gba pẹ̀lú TTY ti ìwọlé ìpilẹ̀, ó sì tún àkọsílẹ̀ yẹn kọ. Ìtòlẹ́sẹẹsẹ náà jẹ́ àbá ní àìmọ̀: setutent(), ka àkọsílẹ̀, ṣe àdàkọ ut_id rẹ̀, fi ut_type sí DEAD_PROCESS, nu àwọn pápá olùlò àti ìlà, tún un kọ pẹ̀lú pututline(), lẹ́yìn náà endutent().

Kóò rẹ̀, lẹ́yìn náà ṣiṣẹ́ rẹ̀ gẹ́gẹ́ bí root láti inú shell tí yóò bẹ̀rẹ̀ ẹ̀rọ:

sudo ./utmpremove && /opt/cisco/anyconnect/bin/vpn -s connect vpn.example.edu

Ọ̀nà ìkùnà méjì ló máa ń ṣàlàyé ọ̀pọ̀ ìròyìn pé ohun èlò náà kò ṣe nnkan. Ó ń ṣiṣẹ́ lórí TTY tí ó so mọ́ ìwọlé ìpilẹ̀, nítorí náà ṣíṣiṣẹ́ rẹ̀ láti script tàbí iṣẹ́ cron tí kò ní ipade kò fi nnkan sílẹ̀ láti fi wé. Àti pé /run/utmp kò ṣeé kọ fún àwọn olùlò déédéé, nítorí náà ṣíṣiṣẹ́ láìsí root yóò kùnà ní ìdákẹ́jẹ́ bí ẹ kò bá ṣàyẹ̀wò ipò àbájáde.

Jẹ́rìí pé ògiri náà faradà fífẹnẹ́ṣẹ̀ kúlẹ̀

Dán an wò dípò kí ẹ kàn rò ó. Sopọ̀ láti ìpàdé tí ẹ fẹ́ pa mọ́, ṣí ipade kejì, ti kejì, lẹ́yìn náà fi vpn state àti wíwo àkójọ interface jẹ́rìí pé ògiri náà ṣì wà lókè. Bí ògiri náà bá yè, ohun tí ó mú un ṣẹlẹ̀ ni irú ìpàdé pàtó kan kì í ṣe gbogbo ìpàdé, ẹ sì ti rí ìpàdé tí ó gbọ́dọ̀ wà ní ṣíṣí.

Bí ó bá ṣì ń já bọ, ìpàdé tí wọ́n ń ṣọ́ wà níbòmííràn, ọ̀pọ̀ ìgbà ni ìwọlé àwòrán tí ó bí ipade rẹ, kíké àkọsílẹ̀ TTY kan kúrò kò ní ràn ọ́ lọ́wọ́. Tún àkíyèsí náà ṣe pẹ̀lú àkójọ kíkún láti ìgbésẹ̀ àkọ́kọ́ dípò kí ẹ fi iṣẹ́ abẹ́ kún un.

Nígbà tí àtúnkọ utmp jẹ́ ìdáhùn tí kò tọ́

utmp jẹ́ ìṣirò àjọpín, kì í ṣe tábìlì àdáni. Àtúnkọ àkọsílẹ̀ ìpàdé tí ó ṣì wà lárọ̀ọ́wọ́tó máa ń jẹ́ kí who, w àti àwọn irinṣẹ́ àyẹ̀wò kan ròyìn rẹ̀ ní kíkùn, àti ètò tí yóò tẹ̀lé e ti pa àkọsílẹ̀ kan náà lẹ́yìn náà lè kùnà pátápátá. Fi ohun èlò náà mọ́ ìpàdé rẹ nìkan, tọ́jú àdàkọ fáìlì ìpilẹ̀, kí ẹ má sì ṣe é ní iṣẹ́ ìbẹ̀rẹ̀ tí ó ń nu gbogbo àkọsílẹ̀ kúrò.

Bí àjọ rẹ bá ń kó ìṣirò ìpàdé fún ìbámu, ọ̀nà àbáyọ yìí tako ìbéèrè yẹn, ìdáhùn tí wọ́n ń ṣèlérí ni ẹ̀dà ẹ̀rọ tàbí ọ̀nà ìwọlé mìíràn, kì í ṣe utmp tí wọ́n ti pa. Fún ọ̀pọ̀ ènìyàn, àtúnṣe tí kò gbógun kún un ni láti bẹ̀rẹ̀ ẹ̀rọ láti ìpàdé tí yóò wà ní ṣíṣí lójú ọ̀sán, kí ẹ sì fi fèrèsé yẹn sílẹ̀.

Kí ẹ tó ti tikẹ́ẹ̀tì, kọ ìpàdé tí ẹ̀rọ ń ṣọ́ nígbà tí ògiri náà gòkè. Ìlà kan yẹn ni ó máa ń sọ ìjápò àràmàá di ipò tí ó ṣeé tún ṣe fún ẹni tí ó kàn lórí ẹ̀rọ náà.

Àwọn àpilẹ̀kọ tó jọra