smbpasswd (5)

Samba

23 Oct 1998

NAMA

smbpasswd - File berisi password ter-enkripsi (encrypted password) Samba

SINOPSIS

smbpasswd merupakan file password ter-enkripsi (encrypted password) dari Samba.

DESKRIPSI

File ini merupakan bagian dari suite Samba.

Berisi nama user, user id UNIX dan hashed-password dari user, juga berisi informasi flag dan kapan terakhir kali password dirubah. Sepanjang perkembangan Samba, format file ini telah berubah-ubah dan memiliki beragam format.

FORMAT FILE

Format dari file smbpasswd di Samba 2.0 sangat mirip dengan standar file passwd (5) di UNIX. Merupakan file ASCII yang berisi satu baris untuk setiap user, dan terbagi dalam beberapa field. Setiap field dipisahkan oleh titik dua (:), dan entri yang berawalan # akan diabaikan. Isi dari smbpasswd adalah informasi user sebagai berikut:

name


Nama user, dan nama yang ada di sini harus terdapat di dalam file passwd di UNIX

uid


Merupakan user id (uid) dari user di UNIX. Entri ini harus cocok dengan field yang sama di file passwd UNIX. Jika tidak cocok, maka Samba akan menolak entri di smbpasswd ini.

Lanman Password Hash


Merupakan bentuk hash dari password LAN MANAGER yang di-encoded menjadi 32 digit bilangan hexadesimal. Hash LAN MANAGER dibuat oleh enkripsi DES yang mengenkripsi string dari password user menjadi key DES. Mekanisme ini sama dengan yang digunakan di Windows 95/98. Catat, bahwa nilai hash password ini terbilang lemah dan rentan terhadap serangan berdasarkan kamus alias dictionary attacks. Kemudian jika ada 2 user yang menggunakan password sama, maka entri keduanya akan identik. Sebab tidak ada kemampuan "salted" seperti password UNIX. Jika user tidak menggunakan password (entri kosong), maka di awal hash akan ada tulisan "NO PASSWORD". Jika string hexadesimal ini memiliki 32 huruf 'X', maka account si user akan dianggap disable, dan user tidak bisa logon ke server Samba.

PERHATIAN, ACHTUNG!!. Catat bahwa karena proses challenge-response dari protokol SMB/CIFS untuk melakukan autentikasi, setiap orang yang memiliki pengetahuan tentang password hash ini akan mampu mengubah user lain dalam network. Untuk itu, hash ini sebetulnya sama saja dengan "plain text" dan sebaiknya JANGAN dibuat terbuka ke semua orang, kecuali root. Untuk melindunginya, taruh di direktori yang punya hak akses 'read' dan hanya root yang memiliki hak 'read/write', dan jangan beri hak akses apapun ke user.

NT Password Hash


Merupakan nilai hash dari password user di Windows NT yang di-encoded jadi 32 digit hexadesimal. Hash Windows NT ini dibuat dengan mengambil password user dan dijadikan nilai 16-bit, atau little-endian UNICODE, kemudian diberikan algoritma MD4 (internet rfc1321).

Hash ini terbilang lebih aman (secure) ketimbang hash dari Hash password LanMan sebab menyimpan aturan case dari password dan menggunakan algoritma dengan kualitas hash lebih tinggi. Tapi bagaimanapun juga, jika ada 2 user yang punya password sama, keduanya tetap akan identik. Sebab tidak adanya fungsi "salted" seperti password di UNIX.

PERHATIAN, ACHTUNG!!. Catat bahwa karena proses challenge-response dari protokol SMB/CIFS untuk melakukan autentikasi, setiap orang yang memiliki pengetahuan tentang password hash ini akan mampu mengubah user lain dalam network. Untuk itu, hash ini sebetulnya sama saja dengan "plain text" dan sebaiknya JANGAN dibuat terbuka ke semua orang, kecuali root. Untuk melindunginya, taruh di direktori yang punya hak akses 'read' dan hanya root yang memiliki hak 'read/write', dan jangan beri hak akses apapun ke user.

Account Flags


Berisi flag yang menjelaskan atribut dari account user. Dalam Samba2.0, field ini berada di antara tanda '[' dan ']', dan panjangnya selalu 13 karakter (termasuk tanda '[' dan ']'-nya). Isi field-nya bisa karakter apa saja.

  • 'U' Berarti account "User". Dalam file smbpasswd, hanya account User dan Workstation Trust yang di-support.

  • 'N' Artinya account tidak memiliki password (field password dalam Lanman Password Hash dan NT Password Hash diabaikan). Catat bahwa user tidak akan bisa logon tanpa password jika parameter null passwords di smb.conf (5) diset.

  • 'D' Account user tersebut dimatikan (disabled) dan tidak ada hak login SMB/CIFS untuk user tersebut.

  • 'W' Account tersebut merupakan account "Workstation Trust". Account seperti ini digunakan di kode PDC Samba agar seluruh klien NT Workstation dan NT Server bisa bergabung ke dalam domain Samba PDC.

  • Flag lain bisa ditambahkan sesuai dengan pengembangan kode. Sisa field lain dikosongkan dengan spasi.

    Last Change Time


    Berisi kapan terakhir kali account tersebut dimodifikasi. Terdiri dari karakter LCT- (singkatan dari "Last Change Time") dan diikuti enkode numerik dari perubahan terahir dalam format jam UNIX dalam detik sejak epoch (1970).

    Following fields


    Titik dua lain tidak digunakan.

    CATATAN

    Dalam versi Samba sebelum ini (seri 1.9.18) file ini tidak berisi field Account Flags atau Last Change Time. Jika meng-upgrade dari 1.9.x, kode Samba 2.0 akan membaca dan menulis password lama, tapi tak akan bisa memodifikasi entri lama untuk memasukkan field baru. Penambahan entri baru dengan smbpasswd (8) akan berisi field tambahan di account yang baru. Jadi sebagian account ada yang berisi field baru, sedang sebagian lagi tidak.

    Supaya konversi smbpasswd berjalan mulus, gunakan skrip convert_smbpasswd, yang ada di bawah direktori bin/ (di tempat yang sama dengan lokasi smbd dan nmbd dengan sintaks sebagai berikut:

    
    
        cat old_smbpasswd_file | convert_smbpasswd > new_smbpasswd_file
    
    
    

    Skrip convert_smbpasswd akan membaca dari stdin dan menulis ke stdout, supaya tidak ada file yang ditulis ulang (overwrite) secara tidak sengaja.

    Sekali skrip ini dijalankan, cek isi dari smbpasswd baru, untuk meyakinkan tidak ada kerusakan dari konversi (yang menggunakan awk), dan ganti <old smbpasswdfile> dengan <new smbpasswd file>.

    VERSI

    Manual ini berlaku untuk Samba versi 2.0.

    LIHAT JUGA

    smbpasswd (8), samba (7), dan Internet RFC1321 untuk detail tentang algoritma MD4.

    PENULIS

    Software Samba dan utilitas lain pertama kali dibuat oleh Andrew Tridgell samba-bugs@samba.org. Samba sekarang dikembangkan oleh tim Samba sebagai proyek Open Source, sama seperti pengembangan kernel Linux.

    Manual pertama kali ditulis oleh Karl Auer. Manual ini kemudian dikonversikan ke format YODL (satu software hebat lagi dari Open Source, tersedia bebas di ftp://ftp.icce.rug.nl/pub/unix/) dan di-update pada Samba2.0 oleh Jeremy Allison. Terjemahan bahasa Indonesia oleh M. ZEN Muttaqien aka. ZEN el GUAY.

    Silakan lihat samba (7) untuk mengetahui daftar lengkap kontributor dan detail mengenai bagaimana memberikan laporan bugs, komentar dan sebagainya.