การมาสก์บริการ systemd หมายความว่าบริการถูกปิดใช้งานและไม่สามารถเปิดใช้งานได้ แม้จะโดยระบบหรือตามคำสั่งด้วยตนเองก็ตาม การมาสก์เป็นรูปแบบการปิดใช้ที่แข็งแกร่งกว่า
ในคู่มือนี้ ฉันจะอธิบายวิธีการพรางบริการบน Linux โดยใช้ systemctl และวิธีการเปิดโปงบริการ นอกจากนี้ ฉันจะกล่าวถึงความแตกต่างที่สำคัญระหว่างบริการที่ปิดบังและบริการที่ถูกปิดใช้งาน
คำเตือน: บน Linux บริการต่างๆ จะพึ่งพาซึ่งกันและกัน เนื่องจากการมาสก์บริการจะปิดการใช้งานและห้ามการเปิดใช้งานใด ๆ ดังนั้นจึงควรใช้อย่างระมัดระวัง
ก่อนที่จะไปไกลกว่านี้ เรามาทำความเข้าใจกลไกเบื้องหลังบริการที่ปิดบังกันก่อน
บริการสวมหน้ากากคืออะไร
บริการที่ปิดบังเป็นบริการที่ปิดใช้งานอย่างถาวรซึ่งป้องกันไม่ให้ระบบหรือผู้ดูแลระบบเปิดใช้งาน ผู้ดูแลระบบโดยทั่วไปจะใช้ หน้ากาก ตัวเลือกในการปิดใช้งานบริการที่ชำรุดหรือขัดแย้งกัน อย่างไรก็ตาม ขอแนะนำให้ใช้ตัวเลือกนี้ด้วยความระมัดระวัง เนื่องจากการมาสก์บริการระบบที่สำคัญอาจทำให้เกิดอุปสรรคในการบูตระบบ
วิธีแสดงรายการบริการที่สวมหน้ากาก
หากต้องการแสดงรายการบริการที่ปกปิดบน Linux ให้ใช้ รายการหน่วย ตัวเลือกที่มีสถานะดังกล่าวถูกสวมหน้ากาก
หน่วยรายการ systemctl --สถานะ = สวมหน้ากาก
วิธีการปกปิดการบริการ
คำสั่ง systemctl สามารถใช้เพื่อปกปิดบริการใดๆ ด้วย หน้ากาก ตัวเลือก. ไวยากรณ์ทั่วไปของคำสั่งมีการกล่าวถึงด้านล่าง
ซูโดะ หน้ากาก systemctl [ บริการ-ชื่อ ]ตัวเลือกมาสก์ในรูปแบบข้างต้นจะสร้างลิงก์สัญลักษณ์ไปยังบริการใน /etc/systemd/system .
นอกจากนี้ยังสามารถกล่าวถึงบริการตั้งแต่หนึ่งรายการขึ้นไป โดยคั่นด้วยช่องว่าง
มาปิดบังบริการ SSH โดยใช้ไวยากรณ์ด้านบน
ซูโดะ systemctl หน้ากาก ssh.service
หากต้องการตรวจสอบสถานะของบริการที่ปิดบัง ให้ใช้ –รัฐ= ตัวเลือกด้วย หน่วยรายการ systemctl .
หากคุณพยายามเริ่มบริการ คุณจะได้รับเอาต์พุตแจ้งว่าหน่วยถูกปิดบัง
บันทึก: คุณไม่สามารถปกปิดบริการที่สร้างขึ้นใน /etc/systemd/system ไดเรกทอรี เนื่องจากบริการในไดเร็กทอรีนี้จำเป็นสำหรับการทำงานของระบบ การมาสก์อาจเป็นอันตรายต่อการทำงานของระบบปกติได้ อย่างไรก็ตาม การปิดใช้งานบริการเหล่านี้เทียบเท่ากับการมาสก์
วิธีปิดบังบริการชั่วคราว
สามารถปิดบังบริการได้จนกว่าจะบูตครั้งถัดไปโดยใช้ –รันไทม์ ตัวเลือก.
ซูโดะ หน้ากาก systemctl [ บริการ-ชื่อ ] --รันไทม์
มันสร้างลิงค์สัญลักษณ์ของบริการใน /รัน/systemd/system ไดเรกทอรี หากลิงก์สัญลักษณ์ของบริการมีอยู่แล้วในไดเร็กทอรี แสดงว่าบริการนั้นได้รับการออกแบบมาให้ปิดบังชั่วคราว
วิธีเปิดโปงบริการ
ใช้คำสั่ง systemctl กับ เปิดโปง ตัวเลือกในการลบข้อ จำกัด การสวมหน้ากาก คำสั่งนี้จะไม่ยอมรับเส้นทางของบริการ ดังนั้นจึงต้องระบุเฉพาะชื่อบริการเท่านั้น
ซูโดะ systemctl เปิดโปง [ บริการ-ชื่อ ]คุณอาจต้องรีบูทระบบหลังจากเปิดโปงบริการ
ความแตกต่างระหว่างบริการ Masked และบริการที่ปิดใช้งาน
บริการที่ปิดใช้งานสามารถเปิดใช้งานและเริ่มต้นโดยระบบและตามคำสั่งด้วยตนเอง อย่างไรก็ตาม ไม่สามารถเปิดใช้งานบริการที่ปกปิดได้ ทั้งโดยระบบหรือโดยการโต้ตอบด้วยตนเอง
เมื่อบริการถูกปิดใช้งาน ลิงก์สัญลักษณ์ที่ถูกสร้างขึ้นใน /etc/systemd/system ไดเร็กทอรีถูกลบออก และบริการไม่เปิดใช้งานขณะบู๊ต แต่สามารถเปิดใช้งานได้โดยบริการที่ต้องพึ่งพา
ในทางกลับกัน บริการที่ปกปิดจะเชื่อมโยงกับ /dev/null ซึ่งทำให้ไม่สามารถใช้งานได้อย่างถาวร
โปรดทราบว่า /dev ไดเร็กทอรีประกอบด้วยไฟล์ของอุปกรณ์บล็อก ที่ /dev/null เป็นอุปกรณ์เสมือนที่จะลบสิ่งที่เขียนลงไป โดยทั่วไปจะใช้เพื่อละทิ้งเอาต์พุตจาก stdout และ stderr
บทสรุป
หากคุณต้องการปิดการใช้งานบริการอย่างถาวร ให้ใช้คำสั่ง systemctl mask ไม่สามารถเปิดใช้งานบริการที่ปิดบังได้แม้กระทั่งโดยระบบ ในคู่มือนี้ ฉันได้กล่าวถึงวิธีการปกปิดบริการอย่างถาวรและชั่วคราว นอกจากนี้เรายังกล่าวถึงวิธีการเปิดโปงบริการและความแตกต่างที่สำคัญระหว่างบริการที่ปิดบังและบริการที่ปิดใช้งาน