Keamanan

Di mana dan bagaimana kata sandi disimpan di Linux?

Di mana dan bagaimana kata sandi disimpan di Linux?
Nama pengguna dengan kata sandi yang sesuai untuk akun tertentu adalah persyaratan utama di mana pengguna dapat mengakses sistem Linux. Semua kata sandi akun pengguna disimpan dalam file atau database sehingga pengguna dapat diverifikasi selama upaya masuk ke sistem. Setiap pengguna tidak memiliki keterampilan dan keahlian yang cukup untuk menemukan file ini di sistem mereka. Namun, jika Anda mendapatkan akses ke database atau file yang menyimpan semua kata sandi pengguna login, maka Anda dapat dengan mudah mengakses sistem Linux. Ketika pengguna memasukkan nama pengguna dan kata sandi di Linux untuk login, ia memeriksa kata sandi yang dimasukkan terhadap entri di berbagai file direktori '/ etc'.

File /etc/passwd menyimpan semua informasi penting yang diperlukan untuk login pengguna. Untuk menjelaskannya dengan kata-kata yang lebih sederhana, file /etc/passwd menyimpan detail akun pengguna. File ini adalah file teks biasa yang berisi daftar lengkap semua pengguna di sistem Linux Anda. Ini memiliki informasi tentang nama pengguna, kata sandi, UID (user id), GID (group id), shell, dan direktori home. File ini seharusnya memiliki izin baca karena banyak utilitas baris perintah yang digunakan untuk memetakan ID pengguna ke nama pengguna. Tapi, harus memiliki izin akses tulis terbatas hanya untuk akun pengguna super atau pengguna root.

Artikel ini akan menunjukkan bagaimana dan di mana Anda dapat menyimpan kata sandi akun pengguna sistem di distribusi Linux. Kami telah menerapkan semua demonstrasi di Ubuntu 20.04 sistem. Namun, Anda dapat menemukan file /etc/passwd di semua distribusi Linux.

Prasyarat

Anda harus memiliki hak akses root untuk menjalankan perintah administratif.

Pemahaman Dasar tentang /etc/passwd File

File /etc/passwd berisi informasi tentang akun pengguna sistem Anda. Semua bidang yang disimpan dipisahkan dari tanda titik dua “:”.
Saat Anda menjalankan perintah berikut, Anda akan melihat setiap entri file dari file /etc/passwd:

$ cat /etc/passwd

Perintah di atas akan mencantumkan semua pengguna sistem Linux Anda.
Jenis format berikut akan ditampilkan di layar terminal Anda:

Detail tentang /etc/passwd field Format
Dari gambar di atas:

Nama pengguna: Bidang satu mewakili nama pengguna. Panjang bidang nama pengguna ditentukan antara 1-32 karakter. Ini digunakan ketika pengguna masuk ke sistem. Dalam contoh di atas, 'khuzdar' adalah nama pengguna.
Kata sandi: Dalam contoh di atas, karakter "x" menunjukkan bahwa kata sandi disimpan dalam bentuk terenkripsi di file /etc/shadow.
ID Pengguna (UID): ID Pengguna harus ditetapkan secara terpisah untuk setiap pengguna. Nol UID ditetapkan ke pengguna root, dan ID Pengguna dari 1-99 ditetapkan ke akun standar atau standar. UID lebih lanjut dari 100-999 ditugaskan ke akun atau grup administratif sistem. Pada tangkapan layar di atas, ID pengguna adalah 1001.
ID Grup (GID): Bidang berikutnya mewakili ID grup. GID disimpan ke dalam file /etc/group. Berdasarkan contoh di atas, pengguna termasuk dalam grup id 1001.
Informasi tentang ID Pengguna: Bidang berikut ditujukan untuk komentar. Di bidang ini, Anda dapat menambahkan beberapa informasi tambahan tentang pengguna yang ditentukan, seperti nama lengkap pengguna, nomor telepon, dll. Namun, dalam contoh di atas, tidak ada nomor telepon yang diberikan oleh pengguna.
Direktori rumah: Bidang ini menunjukkan lokasi direktori home yang ditetapkan untuk pengguna saat ini. Jika direktori yang ditentukan tidak ada, maka akan menampilkan “/”. Gambar di atas menunjukkan lokasi pengguna yang disorot di direktori home, yaitu home/kbuzdar.
Perintah // kulit: Jalur absolut default dari shell atau perintah adalah /bin/bash. Ini dikenal sebagai cangkang. Misalnya, sysadmin menggunakan shell nologin. Ini berperilaku sebagai shell pengganti untuk akun pengguna sistem. Jika shell terletak di jalur ke /sbin/nologin dan pengguna ingin login langsung ke sistem Linux, shell /sbin/nologin akan menutup atau menonaktifkan koneksi.

Cari pengguna di file /etc/passwd

Anda dapat mencari pengguna tertentu dengan file /etc/passwd, menggunakan perintah grep. Misalnya, kita ingin mencari nama pengguna 'kbuzdar' dari file /etc/passwd, menggunakan sintaks berikut, maka kita dapat dengan mudah mencari pengguna tertentu, menghemat waktu kita:

$ grep nama pengguna /etc/passwd

Sintaks di atas akan berubah menjadi bentuk berikut:

$ grep kbuzdar /etc/passwd


Atau

$ grep -w '^kbuzdar' /etc/passwd

Tampilkan izin pada file /etc/passwd

Seperti yang kami sebutkan di atas, semua pengguna lain, kecuali root, harus dapat membaca izin pada file /etc/passwd, dan pemiliknya harus superuser atau root.
Ketik yang berikut ini untuk memeriksa izin baca pada file:

$ls -l /etc/passwd

Contoh keluaran berikut akan ditampilkan di terminal:

Membaca file /etc/passwd

Anda dapat membaca file /etc/passwd di sistem Linux Anda dengan menggunakan skrip bash berikut atau langsung menjalankan apa yang tertulis di bawah ini saat perintah loop di terminal.
Buat file teks dan rekatkan kode berikut di dalamnya:

#!/bin/bash
# total tujuh bidang dari /etc/passwd disimpan sebagai $f1,f2… ,$f7
sementara IFS=: baca -r f1 f2 f3 f4 f5 f6 f7
melakukan
echo "Pengguna $f1 menggunakan shell $f7 dan menyimpan file di direktori $f6."
selesai < /etc/passwd

Menggunakan loop while, ia akan membaca ketujuh bidang dan kemudian secara iteratif menampilkan konten file di terminal.
Simpan file di atas dengan nama 'readfile.SH'.

Sekarang, jalankan file di atas dengan menggunakan perintah berikut:

$ bash readfile.SH

Jelajahi file /etc/shadow

File /etc/shadow berisi semua kata sandi terenkripsi Anda yang disimpan dalam file ini yang hanya dapat dibaca oleh pengguna root.
Mari kita jalankan perintah berikut untuk menampilkan konten:

$ sudo cat /etc/shadow

Anda dapat melihat semua kata sandi dalam format terenkripsi:

Kesimpulan

Kita telah melihat dari artikel di atas, semua detail akun pengguna dan kata sandi disimpan di file /etc/passwd di sistem Linux. Anda dapat membaca file ini, tetapi hanya pengguna root yang memiliki "izin tulis". Selain itu, kami juga telah melihat semua kata sandi terenkripsi yang disimpan di file /etc/shadow. Anda juga dapat menjelajahi file /etc/group untuk mendapatkan detail tentang grup pengguna.

Cara Menampilkan Overlay OSD di Aplikasi dan Game Linux Layar Penuh
Memainkan game layar penuh atau menggunakan aplikasi dalam mode layar penuh bebas gangguan dapat memutus Anda dari informasi sistem yang relevan yang ...
5 Kartu Tangkap Game Teratas
Kita semua telah melihat dan menyukai gameplay streaming di YouTube. PewDiePie, Jakesepticye, dan Markiplier hanyalah beberapa pemain top yang telah m...
Cara Mengembangkan Game di Linux
Satu dekade yang lalu, tidak banyak pengguna Linux yang memprediksi bahwa sistem operasi favorit mereka suatu hari nanti akan menjadi platform game po...