Uzoq ish vaqti faqat o’sha paytda demon egallagan imtiyozlar bilan ishga tushish muvaffaqiyatli bo’lganini isbotlaydi. Bu yerda muhim nosozliklar keyin keladi: yangi mijoz ulanadi, bekor qilish ro’yxati almashtiriladi, yordamchi skript fayl yozishi kerak. Ularning har biri imtiyozsiz hisob tomonidan amalga oshirilgan yangi ochilish bo’lib, o’z ruxsat savoli va o’z xato xabari bilan. Uch qaror ishlashda davom etadigan sozlamani keyingi voqeada muvaffaqiyatsiz bo’ladiganidan ajratadi.

Erta yuklangan narsani keyin ochiladigan narsadan ajrating

Deskriptor ochiq fayl tavsifidagi tutqich bo’lib, kirish rejimi o’sha tavsif yaratilganda belgilangan. Keyin jarayon foydalanuvchisini almashtirish tutqichni yopmaydi, shuning uchun root sifatida o’qilgan kalit fayli imtiyozlar kamaytirilgandan keyin ham ishlaydi. Rejim ham o’zgarmaydi: o’qish uchun ochilgan tutqich yoziladigan bo’lib qolmaydi, yoziladigan tutqich esa hisob yo’ldagi huquqlarini yo’qotgani uchungina qaytarib olinmaydi. Bu ikki fakt bu hisobotlardagi hayratlanarli xatti-harakatlarning ko’p qismini tushuntiradi.

Ikkinchi yarmi xotiradir. Demon sertifikatni tahlil qilib, tahlil qilingan materialni saqlab, faylni yopishi mumkin; foydalanishda qoladigan narsa ma’lumot, ochiq fayl emas. Shuning uchun davom etayotgan trafik deskriptor ochiqligini ham, yo’l nomiga yetish mumkinligini ham isbotlamaydi. U faqat joriy sessiya uchun kerakli material avvalroq olinganini isbotlaydi.

Keyingi ochilish boshqa bitimdir. U joriy hisob malumotlari, joriy xavfsizlik konteksti va joriy ulash korinishi ostida ishlaydi, shuning uchun ishga tushishda oqiladigan yol keyingi ulanishda rad etilishi mumkin. Aylanish tuzoq qoshadi: xuddi shu yol nomi ustiga yangi fayl yozish mavjud deskriptorni eski obyektga boglab qoldiradi, shuning uchun qayta yuklash muvaffaqiyatli korinishi mumkin, ammo demon hali oldingi tarkibni ishlatmoqda. Aylanish kuchga kirganiga ishonishdan oldin jarayon tutgan inode bilan diskdagi inode ni solishtiring.

Uchta ish vaqti oqishini va har biri qachon sodir bolishini nomlang

Uch resurs odatda ishga tushishdan ancha keyin ochiladi va turli paytlarda muvaffaqiyatsiz boladi. Muayyan mijozning sozlama fayli osha mijoz ulanganda oqiladi, shuning uchun boshqalar davom etayotganda bitta foydalanuvchi uchun buzilishi mumkin. Bekor qilish malumotlari hamkor autentifikatsiyasida va fayl almashtirilganda yana korib chiqiladi. Vaqtinchalik katalogga faqat skript yoki plagin biror narsa yozganda tegib otiladi.

Uchovining hech biri ishga tushish yoliga tegishli emas, shuning uchun haftalab sog (sog’lom) bolgan server keyingi ulanishda muvaffaqiyatsiz bolishi mumkin. Toifa tuzatish egasini ham nomlaydi: birinchi ikkitasi demon hisobi ostidagi sozlamaga oqish ruxsati, uchinchisi esa tor maqsadli yoziladigan joy.

Path reopened laterWhat triggers the openFirst sign when it fails
Client configuration fileA connection for that client identityOne client rejected while others connect
Revocation dataPeer authentication, including after replacementRevoked and valid peers both refused
Script or plugin temporary directoryA helper needs to create a fileThe helper exits with a path error

persist-key kopchilik oylaganidan torroq savolga javob beradi. U hujjatlashtirilgan SIGUSR1 va ping-restart qayta sozlashlarida kalit faylini ochiq saqlaydi, va CCD fayllari, bekor qilish malumotlari, yordamchi bajariladigan fayllar yoki jarayonni toliq qayta ishga tushirish uchun hech narsa qilmaydi. Ular hali ham oz ochilish yollari bilan boradi, osha paytda ishlayotgan har qanday hisob ostida.

Hisobni va uning haqiqiy korinishini tasdiqlang

unit fayliga ishonish orniga ishlab turgan demondan qaysi hisobdan foydalanayotganini sorang, song javobni unit belgilagan bilan solishtiring. Nomuvofiqlik birinchi hal qilinadigan ishdir, chunki keyingi har bir ruxsat tekshiruvi jarayon aslida kim bolsa shu sifatida boradi. Song yolni bir-bir komponent boyicha yuring; otish har darajada baholanadi, shuning uchun otib bolmaydigan katalog ichidagi oqiladigan fayl oqilmaydiganligicha qoladi. Yakuniy fayl rejimi birinchi emas, oxirgi savol.

Nom fazolari va xizmat qum qutilari egalik va rejim bitlari tasvirlamaydigan chegaralarni qoshadi. Sizning shellingizda korinadigan yol chroot, ulash nom fazosi yoki uy kataloglarini yashiruvchi unit ichida yo bolmasligi yoki faqat oqish uchun bolishi mumkin. Xavfsizlik modullari yana bir qatlam qoshadi, shuning uchun oqiladigan korinadigan fayl ochilganda baribir rad etilishi mumkin.

ps -o user:12,pid,args -C openvpn
systemctl show -p User -p Group -p ProtectHome -p RootDirectory [email protected]
sudo -u openvpn namei -l /etc/openvpn/ccd/alice

Administratorning shellida muvaffaqiyatli oqish bu birikkan shartlarning birortasini ham sinamaydi. Tekshiruvni demon hisobi sifatida, xuddi shu nom fazosi va qum qutisi bilan ishga tushiring, yoki natija serverni emas, sizning shellingizni tasvirlaydi deb qabul qiling. Uchinchi buyruq osha sinovning arzon korinishi: u har komponentning rejimini chop etadi va demon hisobi ota olmaydigan birinchi komponentda muvaffaqiyatsiz boladi.

Ish vaqti yozuviga oz katalogini bering

Oqish royxatning yarmi xolos. Yordamchi skript holat faylini yaratishi, plagin oz sozlamasi yoniga holat yozishi mumkin, va bu yozuvlar sozlama daraxtini yoziladigan qilish bilan qoplanmaydi. Muayyan katalogga uning vazifasi talab qiladigan yozish ruxsatini bering, tushuntira oladigan egasi va rejimi bilan. Faqat oqiladigan hamma narsa uchun faqat oqish kirishini tanlang.

Shaxsiy kalitning ruxsatlarini siyosat fayllaridan ajratib turing. Qayta sozlashdan keyin qayta oqilishi kerak bolgan kalitning talabi har ulanishda oqiladigan mijoz faylidan farq qiladi, ikkalasiga bitta yumshoq rejim esa masala talab qilganidan koproq kirish beradi. Tor egalikdagi maxsus demon hisobi keng guruhdan oson tekshiriladi. Kalit qayta sozlashlardan otishi kerak bolganda, persist-key katalogni kengaytirish orniga qayta oqishni olib tashlaydi.

Qayta yaratishingiz mumkin bolgan voqeadan qaror qiling

Tirik tunnel koddagi bitta yolni isbotlaydi. Fayl kerak bolgan voqea sizga muhim bolgan ochilishni qoplaydigan yagona sinov, u yangi mijoz ulanishi, almashtirilgan bekor qilish fayli, ruxsat etilgan yumshoq qayta sozlash yoki rejalashtirilgan qayta ishga tushirish bolsin. Voqeani tanlang, ishga tushiring va oxirgi emas birinchi xatoni saqlang.

Yumshoq qayta sozlash uchun bitta signal va unit jurnali kalit qayta oqilganini korsatadi. Signalni yuboring, song unit yozgan oxirgi qatorlarni oqing:

systemctl kill -s SIGUSR1 [email protected]
journalctl -u [email protected] -n 40 --no-pager

Faqat imtiyozlar kamaygani uchun buzilgan demon endi fayllarni ozgartira olmaydi deb xulosa qilmang. U hali nima qila olishi qolgan hisob malumotlari, uning qobiliyatlari, yoza oladigan kataloglari va hali tutgan har qanday yoziladigan deskriptoriga bogliq. Imtiyozlarni kamaytirish vakolatni toraytiradi va ish vaqti ochilishlarining royxati qanchaligini korsatadi. Shu chegarani sozlama yoniga yozib qoying, keyingi odam uni qayta kashf qilmasligi uchun.

O'xshash maqolalar