PrivateTmp: hook файлыг бичсэн ч, тэр хаашаа явсан бэ?
Хувийн түр нэрийн орон зай файлыг устгахын оронд нуудаг. Нэгжийг өөрчлөхөөс өмнө процессын үндсийг шалгаад, дараа нь хуваалцсан өгөгдөлд бодит зам өгнө үү.
Hook-ууд амжилтын тухай мэдээлдэг ч, мөнөөх зам shell-ээс харахад хоосон хэвээр байна. Хоёр мэдэгдэл зэрэг үнэн байж болно, учир нь systemd үйлчилгээ өөрийн mount нэрийн орон зайд хувийн түр хавтастай амьдарч болно. Үүнийг ойлгосны дараа сонирхолтой асуулт нь бичилт ер нь амжилттай болсон уу гэдэг.
Хоёр түр хавтас, нэг зам
Тусгаарлалтын тохиргоо нэгжид түр хавтаснуудын хувийн харагдацыг өгдөг, тэдгээрийг зөвхөн уншигдахаар болгохын оронд. Нэгжээс гадуур процессууд тэнд юу бичиж байгааг харж чадахгүй бөгөөд нэгж зогсоход үлдээсэн бүхэн хаягдана. Тиймээс hook-ын хэвлэсэн зам болон shell-ээс шалгасан зам нэг нэртэй өөр объектуудыг зааж болно.
Энэ бол харагдацын асуудал бөгөөд өгөгдөл алдсан асуудал мэт харагдаж байна. Юу ч устгагдаагүй, учир нь файл зүгээр л shell гишүүн биш нэрийн орон зайд байгаа. Мөн командыг нэгжийн дотор ажиллуулахад өөрөөр ажилладаг бөгөөд яг энэ ажиглалт ихэвчлэн маргааныг шийддэг. Бичилтийн талаар ямар нэг дүгнэлт хийхээс өмнө нэгжийн тохиргоог уншаарай.
Үл үзэгдэхийг бичих боломжгүйгээс ялгаарай
Амжилттай бичилт ба бүтэлгүй нээлт өөр нотолгоо өгдөг бөгөөд энэ ялгаа засварыг тодорхойлно. Хэрэв hook файл үүссэн гэж хэлэх боловч гаднах уншигч олж чадахгүй бол та нэрийн орон зайн асуулттай байна. Хэрэв hook зөвшөөрлийн алдаа эсвэл бүтэлгүй нээлтийг мэдээлбэл, файл хэзээ ч бичигдээгүй бөгөөд нэрийн орон зайн ямар ч өөрчлөлт тус болохгүй.
systemctl show [email protected] -p PrivateTmp -p User -p Group -p RuntimeDirectory
systemctl show [email protected] -p MainPID --value
sudo ls -l /proc/PID/root/tmp/client-stateПроцессын үндэс замаар нээх нь үйлчилгээний өөрийн файлын системийн харагдацыг илрүүлдэг бөгөөд процесс ажиллаж байх хугацаанд түүнд хийх зөвшөөрлийн шалгалтаас хамаарна. Нэгжийн журналыг мөн сессээр уншаарай, учир нь хэн нэгэн шалтгааныг аль хэдийн шийдсэн үед бичилтийн алдаа болон олдохгүй файлыг андуурахад хялбар.
Хуваалцсан өгөгдөлд тодорхой байршил өгөөрэй
Зөвхөн үйлчилгээнд хэрэгтэй өгөгдөл түүний хувийн түр хавтаст байна. Өөр процесс унших ёстой өгөгдөл хоёуланд нь тодорхойлсон зам шаарддаг бөгөөд эзэн, горим, хүчинтэй хугацааг заасан байна. Нэгжийг засахаасаа өмнө хоёр тохиолдлын алийг нь талаар байгаагаа шийдээрэй. Эдгээр тохиолдлын ихэнх нь хувийн файлыг хуваалцсан файл гэж үзэхээс үүдэлтэй.
[Service]
RuntimeDirectory=openvpn-hook-office
RuntimeDirectoryMode=0750Ажиллах хавтас нь хавтсыг системийн ажиллах мужийн доор байрлуулж, нэгжийн тохируулсан хэрэглэгч, бүлгийн хувьд үүсгэж, нэгж зогсоход устгадаг. Багцын нэгж бүрэн бүтэн байхын тулд үүнийг drop-in-ээр нэмж, дараа нь менежерийг дахин ачаалж, тухайн хувилбарыг дахин эхлүүлээрэй, түүний клиентүүд дахин холбогдохыг хүлээн зөвшөөрөх хэрэгтэй.
Суулгасан нэгж аль хэдийн шаарддаг ажиллах хавтсыг хадгал. Жагсаалтыг нэмэхийн оронд солих нь өөрчлөлттэй хэн ч холбохгүй хамааралгүй функцийг эвдэх нийтлэг арга юм.
Хоёр давуу эрхийн давхарга зөрчилдөж болно
Үйлчилгээний менежер нэгжийн тохируулсан хэрэглэгчид зориулж хавтсыг үүсгэдэг бол VPN демон холболтын hook-ыг ажиллуулахын өмнө тусдаа өөрийн бүртгэл рүү бууж болно. Эдгээр нь өөр давхаргууд бөгөөд өөр хэн болохыг нэрлэж болно.
Root-д хамаарах хязгаарлагч горимтой хавтас давуу эрхээ аль хэдийн орхисон демонд бүрэн харагддаг боловч түүнд бичих боломжгүй. Тэгвэл алдаа нь зөвшөөрлийн асуудал мэт уншигддаг ч зам яг таны хүлээсэн газарт байна. Хавтсын эзнийг hook-ын мэдээлсэн хэн болохтой харьцуул. Тэд ялгаатай бол горим хэзээ ч асуулт байгаагүй.
Эзэмшлийг өөрчлөхөөс өмнө hook яг ямар хэн болохын дор ажиллаж байгааг шалга. Хавтсыг засахын тулд үйлчилгээний гүйцэтгэлийн хэрэглэгчийг өөрчлөх нь өөр газар төхөөрөмжийн хандалт, сүлжээний давуу эрхийг өөрчилж болох бөгөөд энэ нь жижиг асуудалд том үнэ юм.
Бүхэл шилжүүлгийг шалга
Дөрвөн зүйлийг зэрэг баталгаажуул: hook өөрийн жинхэнэ хэн болохын дор бичдэг, зорьсон уншигч файлыг ашиглаж чадна, хамааралгүй хэрэглэгчид чадахгүй, нэгжийг зогсооход зохион бүтээсэн ёсоор цэвэрлэдэг. Хостын хуваалцсан түр хавтаст файл гарч ирэх нь шаардлага биш бөгөөд энэ нь ихэвчлэн солилцоо өөрийн замыг хэзээ ч аваагүйн шинж юм. Дахин эхлүүлсний дараа уншигчийг шалга, зөвхөн анхны ажиллагааны үед биш. Цэвэрлэх зан төлөв нь дизайны хэсэг тул таамаглахын оронд ажигла.
Байнгын төлөв насан турш нь тохирох газарт байх ёстой, учир нь ажиллах хавтас алга болохоор зориулагдсан. Байршлыг тав тухыг бус насан туршаар сонго. Энэ дадал ижил мөрдөн шалгалтын дараагийн хувилбараас сэргийлнэ.