Một lỗi cổ điển
Do nhầm lẫn, chúng tôi đã làm sudo chown -R ubuntu:www-data /
trên máy chủ AWS EC2 ubuntu 20.04. Mặc dù có nhiều bài đăng chỉ ra rằng tôi không thể cứu máy và phải cài đặt lại máy mới - tôi muốn lấy một bản sao của postgres chạy trên máy chủ này. Hiện tại chúng tôi không thể thực hiện bất kỳ lệnh nào với sudo. Do đó, chúng tôi không thể bắt đầu postgres hoặc đăng nhập thông qua phppgadmin.
Chúng tôi đã làm như sau:
- Đã dừng phiên bản
- Khối lượng tách rời
- Đã tạo một phiên bản mới
- Tập đính kèm
- Đã gắn âm lượng
- Đã thay đổi thành root trong phiên bản mới
- đã làm
chown -R root:root /mnt/rescue
(đã thay đổi điều này thành gốc: Ubuntu
, Ubuntu: Ubuntu
, vân vân)
- đã làm
chmod -R 4755/mnt/cứu hộ
(cũng đã làm 0755
, ug-s
, vân vân)
- root đã thoát
số lượng /mnt/cứu hộ
- Đóng phiên bản cứu hộ
- tách khối lượng
- Gắn volume vào máy bị lỗi. Máy cho biết chủ sở hữu mới - nhưng sudo không hoạt động.
- Chúng tôi đã thử tạo một phiên bản mới - đính kèm tập đĩa đã sửa này, đã cập nhật /etc/fstab - khởi động lại phiên bản. Chúng tôi đã hợp nhất âm lượng với máy. Sau khi khởi động lại - vẫn là vấn đề tương tự - không thể sudo.
Chúng tôi chắc chắn có thể tạo lại máy hoặc sao lưu và khôi phục. Tuy nhiên, một số dữ liệu quan trọng của nhiệm vụ đang nằm trong tệp postgres. Làm cách nào để sudo hoặc truy xuất các tệp từ một postgres đã chết.
Chúng tôi liên tục phải đối mặt với lỗi:
sudo: /usr/bin/Sudo phải được sở hữu bởi uid 0 và đã thiết lập bit setuid
tuy nhiên, khi tôi thực hiện ls -l ở bất kỳ đâu từ bên trong /usr hoặc /usr/bin - toàn bộ quyền sở hữu của tất cả tệp vẫn thuộc về ubuntu:ubuntu hoặc các kết hợp khác mà chúng tôi đã thử.