ข้อผิดพลาดแบบคลาสสิก
โดยไม่ได้ตั้งใจเราทำ sudo chown -R อูบุนตู:www-ข้อมูล /
บนเซิร์ฟเวอร์ Ubuntu 20.04 AWS EC2 ในขณะที่มีโพสต์มากมายที่ระบุว่าฉันไม่สามารถกอบกู้เครื่องได้และต้องติดตั้งใหม่ - ฉันต้องการสำเนาของ postgres ที่ทำงานบนเซิร์ฟเวอร์นี้ ขณะนี้เราไม่สามารถทำคำสั่งใดๆ ด้วย sudo ดังนั้นเราจึงไม่สามารถเริ่ม postgres หรือเข้าสู่ระบบผ่าน phppgadmin
เราได้ทำสิ่งต่อไปนี้:
- หยุดอินสแตนซ์
- แยกระดับเสียง
- สร้างตัวอย่างใหม่แล้ว
- แนบไดรฟ์ข้อมูล
- ติดตั้งไดรฟ์ข้อมูล
- เปลี่ยนเป็นรูทในอินสแตนซ์ใหม่
- ทำ
chown -R รูท:รูท /mnt/rescue
(เปลี่ยนเป็น ราก: อูบุนตู
, อูบุนตู:อูบุนตู
ฯลฯ)
- ทำ
chmod -R 4755 /mnt/rescue
(ก็ทำ 0755
, ug-s
ฯลฯ)
- ออกจากรูท
umount /mnt/กู้ภัย
- ปิดอินสแตนซ์การช่วยเหลือ
- แยกระดับเสียง
- แนบไดรฟ์ข้อมูลกับเครื่องที่เสียหาย เครื่องระบุเจ้าของใหม่ - แต่ sudo ไม่ทำงาน
- เราพยายามสร้างอินสแตนซ์ใหม่ - แนบวอลุ่มที่แก้ไขนี้ อัปเดต /etc/fstab - รีบูตอินสแตนซ์ เราได้ปริมาตรที่ผสานเข้ากับเครื่อง หลังจากรีบูต - ยังคงเป็นปัญหาเดิม - ไม่สามารถ sudo
เราสามารถสร้างเครื่องใหม่หรือสำรองข้อมูลและกู้คืนได้อย่างแน่นอน อย่างไรก็ตาม ข้อมูลที่สำคัญต่อภารกิจบางอย่างอยู่ใน postgres ฉันจะ sudo หรือดึงไฟล์จาก postgres ที่ตายแล้วได้อย่างไร
เรากำลังเผชิญกับข้อผิดพลาดอย่างต่อเนื่อง:
sudo: /usr/bin/sudo จะต้องเป็นเจ้าของโดย uid 0 และมีการตั้งค่าบิต setuid
อย่างไรก็ตาม เมื่อฉันทำ ls -l ที่ใดก็ได้จากภายใน /usr หรือ /usr/bin ความเป็นเจ้าของทั้งหมดของไฟล์ทั้งหมดยังคงอยู่กับ ubuntu:ubuntu หรือชุดค่าผสมอื่น ๆ ที่เราได้ลอง