บริบท: บน Debian เมื่อ PHP แข็งตัว ฉันปิดใช้งานและลบโมดูล PHP ที่ไม่ได้ใช้สองสามตัว: ตัวอย่างเช่น สำหรับ wddx ฉันลบ:
- /etc/php/7.3/*/conf.d/20-wddx.ini
- /etc/php/7.3/mods-available/wddx.ini
- /usr/share/php7.3-xml/xml/wddx.ini
- /usr/lib/php/*/wddx.so
เมื่อฉันอัปเกรด โมดูล PHP จะปรากฏขึ้นอีกครั้งใน /usr/share/php7.3-xml/xml/wddx.ini และ /usr/lib/php/*/wddx.so แม้ว่า dpkg อย่างถูกต้องจะไม่เพิ่มการกำหนดค่า 'เปิดใช้งาน' ใน / etc (ขอบคุณสำหรับผู้ดูแลหรือ dpkg สำหรับการตรวจสอบสิ่งนี้!):
ไม่แทนที่ไฟล์ปรับแต่งที่ถูกลบ /etc/php/7.3/mods-available/wddx.ini
คำเตือน: ไม่มีไฟล์โมดูล wddx ini ภายใต้ /etc/php/7.3/mods-available
คำถาม: มีวิธีใดบ้างที่อาจใช้ dpkg-divert หรือทริกเกอร์ dpkg ในเครื่องเพื่อบอก dpkg ว่าไม่ต้องเขียนไฟล์บางไฟล์อีกครั้งหรือลบทิ้งหลังจากเขียนเสร็จ
ป.ล.
- โมดูล PHP หลายโมดูลถูกบรรจุใน php7.3-xml และฉันต้องการหนึ่งในนั้น ดังนั้นจึงเป็นไปไม่ได้ที่จะลบแพ็คเกจ Debian ทั้งหมด
- พื้นผิวการโจมตีถูกลดระดับลงอย่างมากเนื่องจากโมดูล PHP ไม่ได้เปิดใช้งาน จึงเป็นการปรับแต่งที่จะลบไฟล์ .so ด้วย ซึ่งเป็นการขัดขวางผู้โจมตีที่เป็นมนุษย์ และอาจเอาชนะสคริปต์มัลแวร์อัตโนมัติโง่ๆ แม้จะมีสิทธิ์รูทก็ตาม ซึ่งเห็นได้ชัดว่าควร เพียงเป็นส่วนหนึ่งของการป้องกันโลก
- เป็นไปได้ที่จะลบไฟล์เหล่านี้ด้วยตนเองหลังจากอัปเกรดหรือใช้เครื่องมือการจัดการการกำหนดค่า (Ansible, Puppet, Dockerâ¦) คำถามนี้เกี่ยวกับวิธีการรวมเข้ากับ dpkg