Jika pengguna sistem kritis, seperti akun root, tidak tersedia pada instance Elastic Compute Service (ECS) Linux, Anda mungkin tidak dapat terhubung ke instance tersebut. Gunakan fitur diagnostik kesehatan instance untuk memecahkan masalah ini.
Prasyarat
Instance ECS Linux tidak dapat dimulai dan telah didiagnosis menggunakan fitur diagnostik kesehatan instance. Laporan diagnostik menunjukkan bahwa akun root gagal dalam pemeriksaan kesehatan.
Informasi latar belakang
Dalam sistem operasi Linux, file /etc/passwd berisi informasi dasar semua pengguna sistem, sedangkan file /etc/shadow menyimpan informasi kata sandi pengguna. Jika informasi pengguna sistem kritis, seperti nama pengguna atau kata sandi akun root, hilang dari file-file ini pada instance ECS Linux, Anda tidak akan dapat terhubung ke instance tersebut.
Solusi: Pulihkan file /etc/passwd, /etc/shadow, dan /etc/group yang berisi informasi dasar grup serta hubungan antara pengguna dan grup pada sistem.
Prosedur
Siapkan file konfigurasi referensi yang berisi informasi pengguna sistem yang benar.
Pengguna sistem kritis bervariasi berdasarkan distribusi Linux, dan Anda mungkin telah membuat pengguna sistem saat menggunakan instance ECS Linux. Untuk menyelesaikan masalah ini, lakukan operasi sesuai dengan distribusi Linux yang digunakan.
Kami merekomendasikan untuk mendapatkan file konfigurasi dari instance ECS Linux yang sehat. File ini berisi informasi pengguna sistem yang benar dan dapat digunakan sebagai referensi untuk pemecahan masalah. Pastikan bahwa instance ECS Linux yang sehat dan yang bermasalah menggunakan distribusi Linux yang sama dan diinstal dengan perangkat lunak yang identik. Berikut adalah jalur ke file konfigurasi yang diperlukan pada instance ECS Linux yang sehat:
/etc/passwd
/etc/shadow
/etc/group
Anda dapat melihat informasi pengguna sistem yang benar dalam file konfigurasi pada instance ECS Linux yang sehat atau mengunduh file konfigurasi ke komputer Anda. Contoh berikut menggunakan instance ECS yang menjalankan CentOS 7.5. Contoh file konfigurasi:
/etc/passwd
root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin sync:x:5:0:sync:/sbin:/bin/sync shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown halt:x:7:0:halt:/sbin:/sbin/halt mail:x:8:12:mail:/var/spool/mail:/sbin/nologin operator:x:11:0:operator:/root:/sbin/nologin games:x:12:100:games:/usr/games:/sbin/nologin ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin nobody:x:99:99:Nobody:/:/sbin/nologin systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin dbus:x:81:81:System message bus:/:/sbin/nologin polkitd:x:999:998:User for polkitd:/:/sbin/nologin sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin postfix:x:89:89::/var/spool/postfix:/sbin/nologin chrony:x:998:996::/var/lib/chrony:/sbin/nologin ntp:x:38:38::/etc/ntp:/sbin/nologin tcpdump:x:72:72::/:/sbin/nologin nscd:x:28:28:NSCD Daemon:/:/sbin/nologin/etc/shadow
root:$6$Q9lA****/t1KPM$JLqO59UTxwGm****/rU7bHL0q5TVAij****/KeWAWPiO.6booVwpp7rdR9****.irQ6nso3YGVSqQqpyT****.:18668:0:99999:7::: bin:*:17632:0:99999:7::: daemon:*:17632:0:99999:7::: adm:*:17632:0:99999:7::: lp:*:17632:0:99999:7::: sync:*:17632:0:99999:7::: shutdown:*:17632:0:99999:7::: halt:*:17632:0:99999:7::: mail:*:17632:0:99999:7::: operator:*:17632:0:99999:7::: games:*:17632:0:99999:7::: ftp:*:17632:0:99999:7::: nobody:*:17632:0:99999:7::: systemd-network:!!:17864:::::: dbus:!!:17864:::::: polkitd:!!:17864:::::: sshd:!!:17864:::::: postfix:!!:17864:::::: chrony:!!:17864:::::: ntp:!!:17864:::::: tcpdump:!!:17864:::::: nscd:!!:17864::::::/etc/group
root:x:0: bin:x:1: daemon:x:2: sys:x:3: adm:x:4: tty:x:5: disk:x:6: lp:x:7: mem:x:8: kmem:x:9: wheel:x:10: cdrom:x:11: mail:x:12:postfix man:x:15: dialout:x:18: floppy:x:19: games:x:20: tape:x:33: video:x:39: ftp:x:50: lock:x:54: audio:x:63: nobody:x:99: users:x:100: utmp:x:22: utempter:x:35: input:x:999: systemd-journal:x:190: systemd-network:x:192: dbus:x:81: polkitd:x:998: ssh_keys:x:997: sshd:x:74: postdrop:x:90: postfix:x:89: chrony:x:996: ntp:x:38: tcpdump:x:72: nscd:x:28:
Hubungkan ke instance ECS Linux yang bermasalah.
Ketika disk perbaikan terpasang ke instance ECS, Anda hanya dapat menggunakan Virtual Network Computing (VNC) untuk terhubung ke instance tersebut. Untuk informasi lebih lanjut, lihat Terhubung ke instance menggunakan VNC.
Lihat informasi mount disk sistem asli pada instance ECS yang bermasalah.
Disk sistem asli instance dipasang ke direktori sementara pada disk perbaikan yang terpasang. Anda dapat menggunakan salah satu metode berikut untuk melihat direktori sementara:
Di bagian Associated Instances pada halaman detail disk sistem asli, lihat direktori sementara. Contoh:
/tmp/ecs-offline-diagnose_disk-bp19bspzms79kqse****.bp19bspzms79kqse****adalah nomor seri disk sistem asli instance ECS.Jalankan perintah mount pada disk perbaikan untuk melihat direktori sementara. Misalnya, jika nama perangkat disk sistem asli adalah /dev/vda, jalankan perintah berikut:
mount | grep /dev/vdaBerikut adalah keluaran perintah yang dikembalikan:
/dev/vda1 on /tmp/ecs-offline-diagnose_disk-bp19bspzms79kqse**** type ext4 (rw,relatime)
Jalankan perintah chroot untuk mengubah direktori root menjadi direktori sementara tempat disk sistem asli dipasang dan masuk ke lingkungan chroot.
Anda harus masuk ke direktori sementara tempat disk sistem asli berada untuk memulihkan file konfigurasi. Misalnya, jika direktori sementara adalah /tmp/ecs-offline-diagnose_disk-bp19bspzms79kqse****, jalankan perintah berikut:
chroot /tmp/ecs-offline-diagnose_disk-bp19bspzms79kqse****Dalam lingkungan chroot, jalankan perintah berikut untuk mencadangkan file /etc/passwd dan /etc/shadow:
cp /etc/passwd /etc/passwd.bak cp /etc/shadow /etc/shadow.bakTambahkan informasi yang hilang dalam file /etc/passwd.
Di konsol ECS, lihat laporan diagnostik kesehatan instance untuk menentukan informasi pengguna sistem kritis yang hilang.
Dalam file referensi /etc/passwd, temukan baris yang berisi informasi yang hilang dan salin baris tersebut.
Tempel baris yang disalin ke posisi yang benar dalam file /etc/passwd di lingkungan chroot.
CatatanAnda hanya dapat terhubung ke instance ECS yang sedang diperbaiki menggunakan VNC. Untuk menempelkan informasi yang disalin, klik
di sudut kiri atas antarmuka logon VNC.Deskripsi format data dalam file /etc/passwd:
Contoh baris informasi pengguna:
postfix:x:89:89::/var/spool/postfix:/sbin/nologinSetiap baris informasi pengguna dipisahkan oleh tanda titik dua (:) menjadi tujuh segmen dalam format berikut:
<Nama Pengguna>:<Kata Sandi>:<UID>:<GID>:<Deskripsi Pengguna>:<Direktori Rumah>:<Shell Logon>Setelah menempelkan informasi pengguna, periksa informasi yang ditempel:
UIDyang ditempel harus berbeda dariUIDpengguna lain dalam file.GIDyang ditempel harus terdapat dalam file /etc/group di lingkungan chroot. Jika GID yang ditempel tidak terdapat dalam file /etc/group di lingkungan chroot, salin baris yang berisiGIDyang ditempel dari file referensi /etc/group ke file /etc/group di lingkungan chroot. Pastikan bahwaGIDyang disalin berbeda dariGIDpengguna lain dalam file /etc/group di lingkungan chroot.Contoh:
Jika
GIDyang ditempel adalah 89 dan file /etc/group di lingkungan chroot berisi GID tersebut, Anda tidak perlu memodifikasi file /etc/group di lingkungan chroot.Jika
GIDyang ditempel adalah 89 dan file /etc/group di lingkungan chroot tidak berisi GID tersebut, salin baris yang berisiGIDdari file referensi /etc/group ke file /etc/group di lingkungan chroot. Pastikan bahwa GID yang disalin berbeda dariGIDpengguna lain dalam file /etc/group di lingkungan chroot.
Jika konfigurasi dalam file referensi /etc/group menunjukkan hubungan antara grup dan pengguna yang informasinya disalin, Anda harus menyalin konfigurasi tersebut ke file /etc/group di lingkungan chroot.
Misalnya, jika informasi pengguna
postfixhilang dari file /etc/passwd di lingkungan chroot, tambahkan informasi yang sesuai yang disalin dari file referensi /etc/passwd dan /etc/group. Jika konfigurasi, sepertimail:x:12:postfix, dalam file referensi /etc/group menunjukkan bahwa penggunapostfixadalah anggota grupmail, Anda juga harus menyalin konfigurasi tersebut ke file /etc/group di lingkungan chroot.
Tambahkan informasi yang hilang dalam file /etc/shadow.
Di konsol ECS, lihat laporan diagnostik kesehatan instance untuk menentukan informasi pengguna sistem kritis yang hilang.
Dalam file referensi /etc/shadow, temukan baris yang berisi informasi yang hilang dan salin baris tersebut.
Tempel baris yang disalin ke posisi yang benar dalam file /etc/shadow di lingkungan chroot.
CatatanAnda hanya dapat terhubung ke instance ECS yang sedang diperbaiki menggunakan VNC. Untuk menempelkan informasi yang disalin, klik
di sudut kiri atas antarmuka logon VNC.Jika tidak ada informasi yang hilang dari file /etc/shadow di lingkungan chroot, Anda tidak perlu memodifikasi file tersebut.
Keluar dari lingkungan chroot dan periksa status instance ECS yang bermasalah.
Jalankan perintah exit untuk keluar dari lingkungan chroot.
Buka halaman Pemecahan Masalah di konsol ECS dan klik Lihat Riwayat di bagian bawah halaman. Di tab Diagnostik Kesehatan Instance, lepaskan disk perbaikan dari instance ECS dan mulai instance tersebut.
Hubungkan ke instance ECS dan konfirmasikan bahwa Anda berhasil terhubung.
Solusi lainnya
Untuk memperbaiki instance ECS yang bermasalah, pasang disk sistem instance ECS yang bermasalah ke instance ECS yang sehat. Untuk informasi lebih lanjut, lihat Pengguna sistem kunci tidak ada dalam instance Linux.