Git дэх OpenVPN профайл: commit хийхийн өмнө юуг зайлуулах вэ
Файлыг дотор нь суулгасан түлхүүрүүдээр уншиж, репозитори юу тарааж болохыг шийдэж, түүхийг дахин бичихээс өмнө хүчингүй болгоорой.
Профайлууд нэгэн зэрэг хоёр зорилгод үйлчилдэг: холболтын тохиргоог бүртгэж, ажилладаг итгэмжлэлийн багцыг авч явдаг. Файлын өргөтгөл нь таны гарт аль нь байгааг юу ч хэлэхгүй. Энэ нь репозиторид хамаарна гэж шийдэхээс өмнө агуулгыг нь уншина уу.
Доорх алхмууд нь клиентийн загварыг хувилбарын хяналтад авч үзэж байна гэж үздэг. Тэдгээрийг дарааллаар нь гүйцэтгэж, буцааж болохгүй зүйлийг commit хийхээс өмнө зогсоорой.
Индекс рүү нэмэх гэж буй файлаа уншина уу
Бодит байтуудаас эхэл, учир нь тусдаа файлуудыг дурддаг профайл тэдгээрийг өөртөө суулгасан профайлаас огт өөр харагддаг. PEM блокийн тэмдэглэгээ болон ca, cert, key, tls-auth, tls-crypt нэртэй дотор тегүүдийг хай, мөн ижил шалгалт хоёр тохиолдлыг хоёуланг нь харуулна. Шифрлэгдсэн хувийн түлхүүр хэвээр мэдрэмтгий материалд тооцогддог бөгөөд хуваалцсан tls-auth эсвэл tls-crypt түлхүүр нь хэрэглэгчийн хувь хүн биш ч итгэмжлэл юм. Профайлын хамт индекс рүү нэмэгдэж буй бүх зүйлд, түүний дотор итгэмжлэлийн файлыг дурддаг архивууд болон суулгацын скриптүүдэд мөн адил шалгалтыг хэрэглээрэй.
Дараа нь ажлын мод биш, индекс рүү нэмэгдсэн багцыг хар. git diff --cached нь commit юуг үнэхээр агуулахыг харуулдаг бөгөөд энэ шийдвэрт ач холбогдолтой цорын ганц хувилбар нь тэр.
Репозитори юу тарааж болохыг шийдээрэй
Загвар нь хуваалцсан, хянасан тохиргоо болон хүн бүртгүүлэх үед хүлээн авах бүх зүйлийн нэртэй орлуулагчийг авч явж чадна. Авч явахгүй зүйл нь ашиглах боломжтой хувь хүн, учир нь репозитори нь түүнийг уншиж чадах бүх хүнд, түүний дотор автоматжуулалтад тархдаг. Хувийн репозитори үзэгчдийг багасгадаг ч уншигч бүр тэр итгэмжлэлд эрх бүхий эсэх асуултыг өөрчлөхгүй.
Үл хайх дүрэм нь ирээдүйн нэмэлтүүдэд саад болж, аль хэдийн бүртгэгдсэн зүйлд юу ч хийдэггүй. Энэ тэгш бус байдлыг арав дахь commit-ийн дараа биш, эхнийхээс өмнө ойлгож авах нь зүйтэй. Дэд бүтцийн нэр, хаяг нь тусдаа дүгнэлт: тэдгээр нь баталгаажуулалтын нууц биш боловч баг нийтлэхээр төлөвлөж байснаас илүүг илчилж болно. Мөр бүрийг нууц үг эсвэл нийтэд гэж хуваахын оронд тэр шийдвэрийг тодорхой гаргаарай.
Хэрэв материал түүхэнд аль хэдийн байгаа бол
Шинэ commit дотор мөрийг устгах нь хуучин хувилбарыг татаж авсан хүн бүрт хөндөгдөөгүй үлдээдэг. Илчлэлийг бодит зүйл гэж үз: итгэмжлэлийн төрлийг тодорхойлж, дараа нь түүнийг хүчингүй болгож чадах байгууллагыг ол. Клиентийн гэрчилгээ хүчингүй болж, хүчингүй болгох жагсаалт дахин үүсдэг; хуваалцсан хяналтын сувгийн түлхүүр сервер болон түүнийг ашигладаг клиент бүрт солигддог.
Хоёулаа маш өөр нөлөөллийн радиус уртай бөгөөд төлөвлөгөө нь эхлэхээс өмнө алийг нь гүйцэтгэж байгаагаа хэлэх ёстой. Материалыг оруулсан commit-ийг git log --all -S 'BEGIN PRIVATE KEY' төрлийн хайлтаар ол, ингэснээр цэвэрлэгээний хүрээ таамаглал биш, мэдэгдэж байх болно. Хамт олны клон эсвэл форк хуучин объектыг аль хэдийн барьж байж болно, тиймээс хүчингүй болгох нь эхэнд, цэвэрлэх нь дараа нь ордог.
Хязгаарласны дараа л цэвэрлээрэй
Түүхийг дахин бичих нь таны засварлаж буй commit-ийн дараах бүх commit-ийг өөрчилдөг тул эхлээд репозиторийн эзэн болон түүн дотор ажилладаг хүмүүсийн зөвшөөрөл шаардлагатай. Хүчээр push хийх нь засвар биш; энэ нь өөрийн буцаах эрсдэлтэй зохицуулалтын үйл явдал юм. Төлөвлөж, нөөц хуулбар авч, багт хэзээ болохыг хэлээрэй.
Үүний дараа багажийн хураангуйд итгэхийн оронд одоогийн мод болон үлдсэн түүхийг шалгана уу.
Үр дүнг хоёр артефакт хэлбэрээр хадгал: хуваалцахад аюулгүй загвар, бүртгэлийн явцад олгогдсон итгэмжлэлүүдийн жагсаалт. Аль нь ч репозиторид ашиглах боломжтой хувь хүн амьдрахыг шаарддаггүй.
Тэр хуваалт нь жинхэнэ засвар бөгөөд профайлыг commit хийхийг хүсэх дараагийн хүний дараа ч амьдарна.