کله چې ټرمینل بند شي AnyConnect قطع کیږي: د سیشن ګوتنې
د Linux AnyConnect کلاینټ د نښلولو پر مهال پرانیستې د ننوتلو سیشنونه یاد ساتي او کله چې یو یې بند شي ټنل پرې کوي. د utmp له بیا لیکلو مخکې ترتیب وګورئ.
ټنل روان دی، تاسو یو اضافي ټرمینل بندوئ، او په کلاینټ کې د یوې کیلي فشار پرته VPN لاندې راځي. په Linux AnyConnect کلاینټ کې راپور شوی لامل د لارښوونې نه، بلکې د سیشن حساب دی: کلاینټ ثبتوي چې ټنل پورته کېدو پر مهال کوم د ننوتلو سیشنونه وو او د هغوی هر یو پای د ټنل نسکورولو لامل ګڼي. لاندې ګوتنې په ترتیب سره ترسره کیږي، او لومړی ناکامه ښیې چې ایا تاسو په دې چلند کې یاست که نه. د کلاینټ په عادي وتلو کې د ټرمینل نوم نه راځي، نو لومړنی حس، چې کنسنټریټر ملامت کړو، معمولا بې ګټې کار دی.
د سیسټم د فایلونو په سمون پیل مه کوئ. هر ګام یا قطع کېدل څرګندوي یا یوه احتمال لرې کوي، او ارزانه ګامونه لومړی راځي.
د سیشن قطع کېدل د بنسټیز اړیکې له قطع کېدو جلا کړئ
له قطعېدو سمدلاسه وروسته بیا ونښلوئ. هغه ټنل چې په څو ثانیو کې په هماغه شبکه کې او پرته له نوي اعتبار څخه بېرته راځي، د مړې اپلینک، Wi-Fi ګرځېدنې یا کنسنټریټر کې د بې کارۍ وخت پای پر ځای د بند شوي سیشن په څېر ځایي لامل ته اشاره کوي. هغه ټنل چې پر Connecting ځړول شوی وي یا تر هغه پورې ناکام شي چې شبکه بدله کړئ، بل مقاله ده.
ولیکئ چې ټنل پورته کېدو پر مهال څه پرانیستي وو: هغه ټرمینل چې کلاینټ مو پکې چلاوه، هر دویم شیل، ګرافیکي ننوتل، او له بله ماشین څخه هر SSH سیشن. دا لیست به تاسو ته څه شیبه وروسته اړین وي، او د بل ځل قطعېدو وروسته یې له یادښت څخه بیا جوړول باوري نه دي.
وګورئ چې کلاینټ د نښلولو پر مهال څه ثبت کړل
کلاینټ د پروسس مور او پلار یا د ټرمینل مالکیت نه ګوري. هغه د نښلولو پر مهال د موجودو د ننوتلو سیشنونو د ټولګې عکس اخلي او وروسته هماغه ټولګه پرتله کوي؛ کله چې یو غړی ورک شي، پرتله ناکامه شي او ټنل هم ورسره ځي. نو ځکه هغه کړکۍ بندول چې تاسو پکې نښلېدلي وئ بې ضرره کېدای شي، خو د یو بې اړیکې اضافي ټرمینل بندول اړیکه وژني: مهمه دا ده چې ایا هغه سیشن په اصلي ټولګه کې و. دا د شمېر نه، د ټولګې پرتله ده، نو سیشن بدلول هم د یو له لاسه ورکولو په څېر مرګونی کېدای شي.
له هر بدلون مخکې هغه څه ولیکئ چې کلاینټ لیدلی شو:
who
w
last -n 10
sudo ls -l /run/utmpله who څخه هر کرښه په utmp کې د کاروونکي پروسس ثبت دی. که ستاسو سیشن دوه ځله ښکاره شي، یو ځل د ګرافیکي ننوتلو لپاره او یو ځل د ټرمینل لپاره، دواړه ثبتونه د نښلولو پر مهال وو او دواړه نوماندان دي.
له utmp څخه یوازې خپل ثبت لرې کړئ
خپاره شوی حل هغه سیشن چې تاسو یې کاروئ د کلاینټ له پیل مخکې په utmp کې ناپیدا کوي. یو کوچنی C پروګرام getutent() ته ځي، هغه ریکارډ مومي چې ut_line یې د معیاري ننوتلو له TTY سره برابر وي، بیا هغه ریکارډ بیا لیکي. ترتیب قصدی دی: setutent()، ثبت لوستل، د هغې ut_id کاپي کول، ut_type په DEAD_PROCESS ټاکل، د کاروونکي او کرښې ساحې تشول، په pututline() بیا لیکل، بیا endutent().
کمپایل یې کړئ، بیا یې له هغه شیل څخه چې کلاینټ پیلوي د root په توګه چل کړئ:
sudo ./utmpremove && /opt/cisco/anyconnect/bin/vpn -s connect vpn.example.eduدوه ناکامۍ دې چې وسیله څه نه کوي ډېری راپورونه څرګندوي. دا د معیاري ننوتلو سره تړلي TTY باندې عمل کوي، نو له سکرېپټ یا کرون کار څخه پرته له ټرمینل چلول یې د سمون لپاره څه نه پریږدي. او /run/utmp عادي کاروونکو لپاره د لیکلو وړ نه دی، نو پرته له root چلول یې په خاموشۍ ناکام شي پرته له دې چې د وتلو حالت وګورئ.
وګورئ چې ټنل د بندېدو زغمل تېریږي
د میکانیزم ازموینه وکړئ نه یې چې اټکل. له هغه سیشن څخه ونښلوئ چې غواړئ یې وساتئ، دویم ټرمینل پرانیزئ، دویم بند کړئ، بیا په vpn state او د انټرفیس لیست په کتلو سره تایید کړئ چې ټنل لا روان دی. که ټنل پاتې شي، لامل یې ځانګړی سیشن ډول و نه هر سیشن، او هغه سیشن مو وموند چې باید پرانیستی پاتې شي.
که لا هم قطع شي، څارل شوی سیشن بل ځای کې و، ډېری وخت هغه ګرافیکي ننوتل چې ستاسو ټرمینل یې جوړ کړ، او د یو TTY ثبت لرې کول به مرسته ونه کړي. د نورې جراحۍ پر ځای د لومړي ګام بشپړ لیست سره کتنه تکرار کړئ.
کله چې د utmp بیا لیکل غلط ځواب وي
utmp شریکه حساب دی، شخصي جدول نه. د یو ژوندي سیشن ثبت بیا لیکل who، w او ځینې پلټنې وسیلې اړ کوي چې هغه لږ راپور کړي، او هغه پروګرام چې وروسته هماغه ثبت بندوي ممکن په بشپړه توګه ناکام شي. وسیله یوازې خپل سیشن ته محدوده وساتئ، د اصلي فایل یوه کاپي وساتئ، او د هر ثبت د لرې کولو د پیل خدمت مه جوړوئ.
که ستاسو موسسه د مطابقت لپاره د سیشن حساب راټولوي، دا حل د هغې اړتیا سره ټکر لري او ملاتړ شوی ځواب د کلاینټ نسخه یا بله لاسرسي لار ده، نه پیچ شوی utmp. د ډېرو لپاره تر ټولو کم لاسوهنه دا ده چې کلاینټ له هغه سیشن څخه پیل کړئ چې ټول ورځ پرانیستی پاتې شي او هغه کړکۍ ته لاس مه وروړئ.
د ټکټ له بندولو مخکې ثبت کړئ چې ټنل پورته کېدو پر مهال کلاینټ کوم سیشن څارلو. هماغه یوه کرښه ده چې یو اسرار قطع کېدل د ماشین پر بل کس لپاره تکرارېدونکې حالت ته اړوي.