سرور ناکامېږي، لاګونه د spawn او یوې پوښۍ یادونه کوي، او لومړنی غبرګون د VPN تنظیماتو کتل دي۔ په هغه فایل کې لا تر اوسه څه نه دي لوستل شوي۔ systemd د بهیر چمتو کولو پر مهال، د اجرایوي فایل له چلېدو دمخه ناکام شو، نو نه کوم پارسر، نه کومه سندره او نه کوم لرې کوربه مشوره شوي۔ د حالت کوډ د OpenVPN په اړه نه، بلکې د systemd په اړه د بیان په توګه لوستل همدا دی چې دې ته لنډه پلټنه بدلوي۔

د غوښتنلیک دمخه د حالت کوډ ولولئ

د سرور نوم وروسته عددي کوډ هغه پړاو نوموي چې ناکام شوی۔ د پوښۍ ناکامي د CHDIR حالت په توګه راپور کېږي، پداسې حال کې چې داسې اجرایوي فایل چې نه شي چلېدلی، بشپړ بل کوډ دی۔ دواړه په یوه لنډیز کرښه کې ورته ښکاري او په خپلو لاملونو کې هېڅ شریک نه لري۔

دا توپیر مهم دی ځکه چې سمونې په بېلابېلو فایلونو کې دي۔ CHDIR ناکامي د یوې لارې او د سرور د هغې لید پورې اړه لري۔ Exec ناکامي د بائنري فایل، د هغې ژباړونکي یا یوې بې اړیکې mount پورې اړه لري۔ د VPN لرې نقطې، د کوډونو لړلیک یا د سندرو لارې بدلول هیڅ یو هم نه شي حل کولی۔

تایید کړئ چې ناکامي په پیل کې ده نه د بریالي چلېدو وروسته۔ که سرور پرون کار کاوه او اوس په هماغه پړاو کې ناکامېږي، نو په پوښۍ، د هغې اجازو یا خود یونټ کې یو څه بدل شوي، او هغه بدلون هغه شواهد دي چې باید ورپسې وګرځئ۔

له یونټ وپوښتئ چې چېرته غواړي وي

اغېزمن یونټ ولولئ نه هغه فایل چې فکر کوئ نصب شوی دی، ځکه drop-in فایلونه کولی شي کاري پوښۍ له پامه وغورځوي پرته له دې چې تاسو هېڅکله اصلي یونټ سم کړی وي۔ د show وتنه پوښتنې ته مستقیم ځواب ورکوي:

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

د upstream سرور کېلپ لپاره، کاري پوښۍ د سرور د تنظیماتو پوښۍ ده او د نمونې نوم دننه پروفایل ټاکي۔ نو branch په نوم نمونه په هماغه پوښۍ کې خپل فایل تمه لري، او بل ځای کې ایښودل شوی پروفایل د کاري پوښۍ شرط هېڅ نه پوره کوي۔

هغه څه چې یونټ غواړي له هغو سره پرتله کړئ چې شته۔ هغه لاره چې پخوا وه، هغه سمبولیک تړون چې اوس بل ځای ته اشاره کوي، یا هغه نمونه نوم چې نور له پوښۍ سره نه ځي، ټول عادي بدلونونه دي چې همدا ناکامي رامنځته کوي۔

لاره هغسې وګورئ لکه سرور چې ګوري یې

ستاسو شل او سرور د فایل سیسټم یو شان لید نه لري۔ ټاکل شوې ریښه پوښۍ یا ریښه انځور د یونټ دننه د مطلقې لارې مانا بدلوي، او هغه لاره چې په کوربه کې ښکاره شته، کېدای شي په هغه نوم ځای کې نه وي۔ د لاسي ازموینې له باور دمخه د یونټ تنظیمات ولولئ۔

اجازې ستونزه لا زیاته کوي۔ سرور د یو ځانګړي کارن په توګه ځي، او هغه کارن باید هر مورني پوښۍ ته تېر شي ترڅو هدف ته ورسېږي، نه یوازې هدف پخپله ولولي۔ هغه پوښۍ چې root لوستلی شي خو د سرور کارن نه شي تېرېدلی، داسې ناکامي جوړوي چې د ورکې لارې په څېر ښکاري۔

namei -l /etc/openvpn/server
systemctl show [email protected] -p ProtectSystem -p ReadOnlyPaths

د کلکونې تنظیمات هم د دې انځور برخه دي۔ هغه یونټ چې کورني پوښۍ پټوي یا د فایل سیسټم یوه برخه یوازې لوستلو وګرځوي هماغه کوي چې د هغې لپاره ټاکل شوي، او کاري پوښۍ باید هغه ځای کې وي چې sandbox لا هم ښکاره کوي یې۔

خاوند سم کړئ، بیا د بلې تېروتنې تمه وکړئ

د هغه چا له لارې چې دا تنظیمات لري ترتیب یا یونټ سم کړئ۔ پروفایل ته د تمه شوې پوښۍ دننه لېږدول هغه وخت مشروع سمون دی چې ترتیب غلط وي، خو هغه پوښۍ نه څرګندوي چې داخلېدل پرې ممکن نه دي، نو د عمومي ځواب په توګه یې مه اخلئ۔

د تنظیماتو په ونه کې د اجازو پراخولو یا د sandbox لرې کولو لنډې لارې سره مقابله وکړئ۔ دواړه نښه ورکوي خو هغه ساتنې لرې کوي چې په قصد هلته ایښودل شوې وې، او بله ناکامي به تفسیرول ستونزمن وي۔

نمونه بیا پیل کړئ او د بریالیتوب د انګېرنې پرځای بله پېښه ولولئ۔ احتمال لري چې بله تېروتنه دا وي چې OpenVPN خپل تنظیماتي فایل نه شي پرانیستلی، دا پرمختګ دی: کاري پوښۍ ته داخل شو او پارسر اوس ځي۔ له هغه ځایه د یونټ ریښتیني فایل نقشه تعقیب کړئ نه دا چې شبکې ستونزې ته بېرته وګرځئ۔

د systemd د اجرا مرجع څرګندوي چې کاري پوښۍ د ریښه پوښیو او sandbox ترڅنګ څنګه تفسیر کېږي۔ هغه نمونه چې باید په یاد وي ساده ده: هر حالت کوډ بېل پړاو نوموي، او یوازې د غوښتنلیک خپلې تېروتنې غوښتنلیک بیانوي۔

اړوندې مقالې