Keselamatan

Di mana dan bagaimana kata laluan disimpan di Linux?

Di mana dan bagaimana kata laluan disimpan di Linux?
Nama pengguna dengan kata laluan yang sesuai untuk akaun tertentu adalah syarat utama di mana pengguna dapat mengakses sistem Linux. Semua kata laluan akaun pengguna disimpan dalam fail atau pangkalan data sehingga pengguna dapat disahkan semasa percubaan masuk ke dalam sistem. Setiap pengguna tidak mempunyai kemahiran dan kepakaran yang mencukupi untuk mencari fail ini di sistem mereka. Namun, jika anda mendapat akses ke pangkalan data atau fail yang menyimpan semua kata laluan pengguna log masuk, maka anda dapat mengakses sistem Linux dengan mudah. Apabila pengguna memasukkan nama pengguna dan kata laluan di Linux untuk log masuk, ia memeriksa kata laluan yang dimasukkan terhadap entri dalam pelbagai fail direktori '/ etc'.

Fail / etc / passwd menyimpan semua maklumat penting yang diperlukan untuk log masuk pengguna. Untuk menerangkannya dengan kata yang lebih mudah, fail / etc / passwd menyimpan butiran akaun pengguna. Fail ini adalah fail teks biasa yang berisi senarai lengkap semua pengguna di sistem Linux anda. Ia mempunyai maklumat mengenai nama pengguna, kata laluan, UID (id pengguna), GID (id kumpulan), shell, dan direktori rumah. Fail ini semestinya mempunyai izin membaca kerana banyak utiliti baris perintah digunakan untuk memetakan ID pengguna ke nama pengguna. Tetapi, semestinya mempunyai kebenaran akses tulis terhad untuk akaun pengguna super atau root.

Artikel ini akan menunjukkan bagaimana dan di mana anda boleh menyimpan kata laluan akaun pengguna sistem pada pengedaran Linux. Kami telah melaksanakan semua demonstrasi di Ubuntu 20.Sistem 04. Walau bagaimanapun, anda boleh mencari / etc / passwd file di mana-mana pengedaran Linux.

Pra-syarat

Anda harus mempunyai hak root untuk menjalankan perintah pentadbiran.

Pemahaman Asas mengenai / etc / passwd File

Fail / etc / passwd mengandungi maklumat mengenai akaun pengguna sistem anda. Semua medan yang tersimpan dipisahkan dari tanda kolon “:”.
Apabila anda menjalankan perintah berikut, anda akan melihat setiap entri fail / etc / passwd file:

$ kucing / etc / passwd

Perintah di atas akan menyenaraikan semua pengguna sistem Linux anda.
Jenis format berikut akan dipaparkan di skrin terminal anda:

Maklumat mengenai format / etc / passwd
Dari gambar di atas:

Nama pengguna: Medan satu mewakili nama pengguna. Panjang bidang nama pengguna ditentukan antara 1-32 aksara. Ini digunakan semasa pengguna masuk ke dalam sistem. Dalam contoh di atas, 'khuzdar' adalah nama pengguna.
Kata Laluan: Dalam contoh di atas, watak "x" menunjukkan bahawa kata laluan disimpan dalam bentuk yang dienkripsi dalam / etc / shadow file.
ID Pengguna (UID): ID Pengguna mesti diberikan secara berasingan kepada setiap pengguna. Sifar UID diberikan kepada pengguna root, dan ID Pengguna dari 1-99 ditetapkan ke akaun yang telah ditetapkan atau standard. UID selanjutnya dari 100-999 diberikan kepada akaun atau kumpulan pentadbiran sistem. Dalam tangkapan skrin di atas, ID pengguna adalah 1001.
ID Kumpulan (GID): Medan seterusnya mewakili ID kumpulan. GID disimpan ke dalam fail / etc / group. Berdasarkan contoh di atas, pengguna tergolong dalam kumpulan id 1001.
Maklumat mengenai ID Pengguna: Medan berikut ditujukan untuk komen. Dalam bidang ini, anda boleh menambahkan beberapa maklumat tambahan mengenai pengguna yang ditentukan, seperti nama penuh pengguna, nombor telefon, dll. Walau bagaimanapun, dalam contoh di atas, tidak ada nombor telefon yang diberikan oleh pengguna.
Direktori rumah: Medan ini menunjukkan lokasi direktori utama yang diberikan kepada pengguna semasa. Sekiranya direktori yang ditentukan tidak ada, maka itu akan memaparkan "/". Gambar di atas menunjukkan lokasi pengguna yang disorot di direktori home, iaitu home / kbuzdar.
Perintah // shell: Jalan lalai mutlak shell atau arahan adalah / bin / bash. Ini dikenali sebagai cengkerang. Contohnya, sysadmin menggunakan shell nologin. Ia bertindak sebagai shell pengganti untuk akaun pengguna sistem. Sekiranya shell terletak di jalan ke / sbin / nologin dan pengguna ingin log masuk terus ke sistem Linux, shell / sbin / nologin akan menutup atau mematikan sambungan.

Cari pengguna di / etc / passwd file

Anda boleh mencari pengguna tertentu dengan / etc / passwd file, menggunakan perintah grep. Sebagai contoh, kami ingin mencari nama pengguna 'kbuzdar' dari fail / etc / passwd, menggunakan sintaks berikut, maka kami dapat dengan mudah mencari pengguna yang ditentukan, menjimatkan masa kami:

$ grep nama pengguna / etc / passwd

Sintaks di atas akan berubah menjadi bentuk berikut:

$ grep kbuzdar / etc / passwd


Atau

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

Memaparkan kebenaran pada / etc / passwd file

Seperti yang telah kami sebutkan di atas, semua pengguna lain, kecuali root, harus dapat membaca izin pada file / etc / passwd, dan pemiliknya harus menjadi superuser atau root.
Taipkan yang berikut untuk memeriksa kebenaran membaca pada fail:

$ ls -l / etc / passwd

Contoh output berikut akan dipaparkan di terminal:

Membaca / etc / passwd file

Anda boleh membaca fail / etc / passwd pada sistem Linux anda dengan menggunakan skrip bash berikut atau menjalankan secara langsung apa yang tertulis di bawah semasa perintah gelung di terminal.
Buat fail teks dan tampal kod berikut di dalamnya:

#!/ bin / bash
# jumlah tujuh medan dari / etc / passwd disimpan sebagai $ f1, f2…, $ f7
manakala IFS =: baca -r f1 f2 f3 f4 f5 f6 f7
buat
echo "Pengguna $ f1 menggunakan shell $ f7 dan menyimpan fail dalam direktori $ f6."
selesai < /etc/passwd

Dengan menggunakan loop sementara, ia akan membaca semua tujuh medan dan kemudian secara berulang-ulang memaparkan kandungan fail di terminal.
Simpan fail di atas dengan nama 'readfile.sh '.

Sekarang, jalankan fail di atas dengan menggunakan arahan berikut:

$ bash readfile.sh

Terokai / etc / shadow shadow

Fail / etc / shadow mengandungi semua kata laluan anda yang disulitkan yang disimpan dalam fail ini yang hanya dapat dibaca untuk pengguna root.
Mari jalankan arahan berikut untuk memaparkan kandungannya:

$ sudo cat / etc / shadow

Anda dapat melihat semua kata laluan dalam format yang dienkripsi:

Kesimpulannya

Kami telah melihat dari artikel di atas, semua butiran akaun pengguna dan kata laluan yang disimpan di / etc / passwd file dalam sistem Linux. Anda dapat membaca fail ini, tetapi hanya pengguna root yang memiliki "izin menulis". Lebih-lebih lagi, kami juga melihat semua kata laluan yang disulitkan disimpan pada fail / etc / shadow. Anda juga boleh meneroka fail / etc / group untuk mendapatkan maklumat mengenai kumpulan pengguna.

Tambahkan isyarat Tetikus ke Windows 10 menggunakan alat percuma ini
Dalam beberapa tahun kebelakangan ini komputer dan sistem operasi telah banyak berkembang. Ada saat ketika pengguna harus menggunakan perintah untuk m...
Mengawal & menguruskan pergerakan tetikus antara beberapa monitor di Windows 10
Pengurus Tetikus Paparan Dwi membolehkan anda mengawal & mengkonfigurasi pergerakan tetikus antara beberapa monitor, dengan memperlahankan pergerakann...
WinMouse membolehkan anda menyesuaikan & meningkatkan pergerakan penunjuk tetikus pada PC Windows
Sekiranya anda ingin meningkatkan fungsi lalai penunjuk tetikus anda gunakan perisian percuma WinMouse. Ia menambah lebih banyak ciri untuk membantu a...