mac.py tí a ṣàtúnṣe tí kò yí ohunkóhun padà ni àmì àkọ́kọ́ tí ó wọ́pọ̀. Fáìlì tí ó wà lórí disiki kì í ṣe èyí tí Access Server ń ṣiṣẹ́; iṣẹ́ ìjẹ́rìí ń gbé script wá láti inú ibi ìpamọ́ ìtòlẹ́sẹẹsẹ ti ẹ̀rọ ìsìn, àti pé ẹ̀dà tí a fi pamọ́ yẹn ni ó ń pinnu ìwọlé. Níwọ̀n ìgbà tí a kò bá yí iye tí a fi pamọ́ padà, gbogbo ìdánwò ń fi kún un pé script àtijọ́ ṣì ń ṣiṣẹ́.

Àwọn ipò mẹ́ta ni ó ń pinnu iṣẹ́ náà: bóyá a ti fi iye náà sínú ibi ìpamọ́ ìtòlẹ́sẹẹsẹ rí, bóyá a ti pàṣẹ fún iṣẹ́ náà láti gbé e wọlé lẹ́ẹ̀kan sí i, àti bóyá kóòdù tí o yí padà ń ṣiṣẹ́ ní gbogbo ìsopọ̀. Ọ̀kọ̀ọ̀kan ní àmì ọ̀tọ̀ọ̀tọ̀, àti àtúnṣe èyí tí kò tọ́ ń fi àkókò ìtọ́jú ṣòfò.

Fáìlì ni orísun, kì í ṣe ẹ̀dà tí ń ṣiṣẹ́

Access Server ń tọ́jú script post-auth lábẹ́ kọ́kọ́rọ́ auth.module.post_auth_script. Ṣíṣàtúnṣe fáìlì ń ṣe àtúnṣe ẹ̀dà iṣẹ́ rẹ nìkan. Daemon ń ka iye tí a fi pamọ́, nítorí náà ìyípadà náà kì í hàn títí tí ìwọ yóò fi pa àkọsílẹ̀ àtijọ́ rẹ́ tí o sì fi fáìlì tuntun sí ipò rẹ̀. Iye tí a fi pamọ́ yẹn ni ẹ̀dà kan ṣoṣo tí iṣẹ́ ìjẹ́rìí ń wò.

Ka á kí o tó yí i padà. Bí ó bá ti bá fáìlì tí o ṣàtúnṣe mu, ìṣòro náà kò sí nínú ìpamọ́, kí o sì lọ sí ìbéèrè nípa ìwọ̀n. Bí ó bá fi ẹ̀yà àtijọ́ hàn, ìyípadà náà kò dé iṣẹ́ náà rí.

./sacli -k auth.module.post_auth_script ConfigGet

Yí ẹ̀dà tí a fi pamọ́ padà, kí o sì lò ó

Pípa rẹ́ kí o tó kọ̀wé kì í ṣe ọ̀ṣọ́. ConfigPut pẹ̀lú --value_file ń yí iye náà padà ní ìgbésẹ̀ kan, àti pípa ConfigDel ní àkọ́kọ́ ń jẹ́ kí kò ṣeéṣe láti fi àkọsílẹ̀ àtijọ́ tàbí èyí tí ó bàjẹ́ sílẹ̀. Fi ẹ̀dà script tí ń ṣiṣẹ́ pamọ́ ní òde fódà script kí o tó bẹ̀rẹ̀.

./sacli -k auth.module.post_auth_script ConfigDel
# store the file, then apply it
./sacli -k auth.module.post_auth_script --value_file=/root/post_auth.py ConfigPut
./sacli start

sacli start ń lo ìtòlẹ́sẹẹsẹ tí a yí padà lórí àwọn iṣẹ́ inú, àti pé èyí ni ó mú script tuntun náà wá sí ipò iṣẹ́. Èyí kò dà bí àtúnbẹ̀rẹ̀ gbogbo ẹ̀rọ tàbí daemon, kò sì yẹ kí a fi í rọ́pò rẹ̀ àyàfi bí ìyípadà rẹ bá béèrè fún un.

Lo ipa-ọ̀nà pípé fún fáìlì iye náà kí o sì rí i dájú pé root lè kà á. Ipa-ọ̀nà tí a ń yanjú láti inú shell rẹ ṣùgbọ́n kì í ṣe láti inú àkọsílẹ̀ iṣẹ́ ń mú iye tí a fi pamọ́ wá tí ó dà bí ẹni tí ó tọ́ nínú ConfigGet tí ó sì kùnà ní ìwọlé àkọ́kọ́. Tún wo èsì tí a fi pamọ́ lẹ́ẹ̀kan sí i lẹ́yìn sacli start, kì í ṣe ṣáájú.

Ìwọ̀n mọ́dùùlù tàbí fún gbogbo ìsopọ̀: ibo ni ìbéèrè yẹ kí ó wà

Python ń ṣe àwọn gbólóhùn ní ìpele mọ́dùùlù lẹ́ẹ̀kan, nígbà tí a bá gbé script wọlé. Nítorí náà ìbéèrè ibi ìpamọ́ tí a kọ sí orí fáìlì ń ka tábìlì ní àkókò ìgbéwọlé tí ó sì ń tọ́jú èsì yẹn fún gbogbo ìsopọ̀ tí ó tẹ̀lé. Èyí ni ìdí kejì tí ìyípadà fi dà bí ẹni tí kò ṣe nkankan: kóòdù náà ń ṣiṣẹ́, ṣùgbọ́n kì í ṣe ní àkókò tí o retí.

Fi ìbéèrè náà sínú olùṣàkóso post_auth kí ó lè ṣiṣẹ́ ní gbogbo ìjẹ́rìí. Tọ́jú ìbọ̀wọ́ tí a kọ sílẹ̀, ṣàtúnṣe èsì ìjẹ́rìí tí olùṣàkóso ń gbà, kí o sì dá ohun kan náà padà dípò nọ́mbà òfo.

Tọ́jú ìṣàkóso ìsopọ̀ pẹ̀lú nínú olùṣàkóso. Ìsopọ̀ tí a ṣí nígbà ìgbéwọlé lè jẹ́ kí ẹ̀rọ ìsìn pa á kí olùlò àkọ́kọ́ tó wọlé, àti pé àṣìṣe tí ó jáde yóò dà bí ẹ̀rí tí a kọ̀ dípò script tí ó bàjẹ́.

Ọ̀nà ìkọ̀ méjì, olùdá kan

Bí ìpinnu bá jẹ́ ìbéèrè àdúgbò, olùṣàkóso Python ni ó ni èsì náà. Bí ó bá jẹ́ àyẹ̀wò HTTP láti òde, jẹ́ kí ipò ìjáde pàṣẹ náà gbé èsì náà: àwọ̀ tí ó jáde pẹ̀lú kóòdù tí kì í ṣe òdo ń kọ̀ ìwọlé, ipò pàṣẹ ìkẹyìn sì di ipò script láìsí exit tí ó hàn gbangba.

Tọ́jú àṣírí náà ní òde àkọsílẹ̀ àwọn ìlànà. Fáìlì tí root lè kà tàbí iye àyíká tí iṣẹ́ náà ń fi ránṣẹ́ jẹ́ àìléwu ju àríyànjiyàn tí olùlò àdúgbò kankan lè kà láti ps. Fìdí ibi ìparí náà mọ́ nínú àfikún kí o tó pè é, kí àṣìṣe títẹ̀ lè kùnà ní àkókò ìtòlẹ́sẹẹsẹ kì í ṣe nígbà ìwọlé ẹnìkan. Yí àṣírí yẹn padà bí o ṣe ń ṣe pẹ̀lú ẹ̀rí mìíràn.

Yan olùdá kan fún gbogbo àyẹ̀wò. Script tí ń béèrè ibi ìpamọ́ tí ó sì ń pe iṣẹ́ HTTP nílò ìlànà ipò àkọ́kọ́ tí a kéde fún ipò tí àwọn méjèèjì kò bá faramọ́, bí bẹ́ẹ̀ kọ́ ìdí ìkọ̀ nínú àkọsílẹ̀ kò ní bá ohun tí a sọ fún olùlò mu.

Lò ó láìsí títìpa olùṣàkóso

Ààbò méjì ń jẹ́ kí ìyípadà náà lè yí padà: àkọsílẹ̀ olùṣàkóso kejì tí kò gbára lé script, àti ẹ̀dà rere tí a mọ̀ tí a fi pamọ́ ní òde fódà script. Lo ìyípadà náà ní àkókò ìtọ́jú, lẹ́yìn náà wo ìwọlé ìdánwò kan àti ìkọ̀ tí a mọ̀ọ́mọ̀ ṣe kí o tó jáde. Bí àkọsílẹ̀ bá fi àṣìṣe ìṣẹ̀dá èdè hàn dípò ìpinnu ìjẹ́rìí, script tí a fi pamọ́ ti bàjẹ́ àti pé gbogbo ìwọlé yóò kùnà.

Àwọn ipò méjì sọ pé dúró: o kò lè ka fáìlì iye náà gẹ́gẹ́ bí root, tàbí kò ní ọ̀nà kejì sí ojú-ìwé ìṣàkóso. Àwọn méjèèjì ń yí ìyípadà kékeré padà sí títìpa, kò sì sí ọ̀kan nínú wọn tí ó yẹ kí a dán wò lórí ẹ̀rọ ìsìn ìmújáde ní ìparí ọjọ́. Àwọn ìwé Access Server ń bo ojú-ìwé post-auth àti àwọn pápá tí ó ń ṣe àtìlẹ́yìn fún.

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