Ada beberapa skema otentikasi yang dapat digunakan pada sistem Linux. Skema standar yang paling umum digunakan dan untuk melakukan otentikasi terhadap file adalah /etc/passwd dan /etc/shadow.

File /etc/passwd adalah database berbasis teks yang berisi informasi untuk semua akun pada sistem. Dimiliki oleh root dan memiliki izin 644. File hanya dapat dimodifikasi oleh root atau user dengan hak akses sudo dan dapat dibaca oleh semua pengguna sistem.

Memodifikasi file /etc/passwd secara manual (edit langsung dengan teks editor vim atau nano) harus dihindari kecuali Anda tahu apa yang Anda lakukan. Selalu gunakan perintah yang dirancang untuk tujuan tersebut. Misalnya, untuk memodifikasi akun pengguna, gunakan perintah usermod, untuk mengganti kata sandi pengguna dengan menggunakan perintah passwd dan untuk menambahkan akun pengguna baru gunakan perintah useradd.

Format dalam file /etc/passwd

File /etc/passwd adalah file teks dengan satu entri per baris, mewakili akun pengguna. Untuk melihat konten file, gunakan teks editor atau dengan perintah cat:

cat /etc/passwd

Biasanya, baris pertama mendeskrpsikan pengguna root, diikuti oleh sistem dan akun pengguna normal. Entri baru ditambahkan di akhir file.

Setiap baris file /etc/passwd berisi tujuh bidang yang dipisahkan koma:

tono:x:1001:1001:tono,,,:/home/tono:/bin/bash
[--] - [--] [--] [-----] [--------] [--------]
|    |   |    |     |         |        |
|    |   |    |     |         |        +-> 7. Login shell
|    |   |    |     |         +----------> 6. Direktori Home
|    |   |    |     +--------------------> 5. GECOS
|    |   |    +--------------------------> 4. GID
|    |   +-------------------------------> 3. UID
|    +-----------------------------------> 2. Password
+----------------------------------------> 1. Username
  1. Username. String yang Anda ketikkan saat masuk ke sistem. Setiap nama pengguna harus berupa string unik pada mesin. Panjang maksimum nama pengguna dibatasi hingga 32 karakter.
  2. Password. Dalam sistem Linux yang lebih lama, kata sandi user di enkripsi dan disimpan dalam file /etc/passwd. Pada kebanyakan sistem modern, bidang ini diset ke x, dan kata sandi user disimpan dalam file /etc/shadow.
  3. UID. user identifier adalah nomor yang ditetapkan untuk setiap pengguna. Ini digunakan oleh sistem operasi untuk membedakan antara user satu dan user lain.
  4. GID. Group identifier atau  Nomor ID grup, mengacu pada grup primer dari user. Saat pengguna membuat file, grup dari file diatur ke grup ini. Biasanya, nama grup sama dengan nama pengguna. Grup sekunder user tercantum dalam file /etc/groups.
  5. GECOS atau nama lengkap pengguna. Bidang ini berisi daftar nilai yang dipisahkan koma dengan informasi berikut:
    • Nama lengkap user atau nama aplikasi..
    • Nomor kamar.
    • Nomor telepon kantor.
    • Nomor telepon rumah.
    • Informasi kontak lainnya.
  6. Direktori Home. jalur absolut ke direktori home. Ini berisi file dan konfigurasi user. Secara default, direktori home user dinamai sesuai nama akun pengguna dan dibuat di bawah direktori /home.
  7. Login shell. Jalur absolut ke shell login user. Ini adalah shell yang dimulai ketika user masuk ke sistem. Pada sebagian besar distribusi Linux, shell login default adalah Bash.

Kesimpulan

File /etc/passwd melacak semua user di sistem. Hindari mengubah secara manual file ini, karena salah 1 karakter saja dapat menyebabkan masalah pada akun user.