Menghapus pengguna samba: pbdedit vs smbpasswd, apa bedanya?

12

Apa perbedaan antara

$ pdbedit -x

dan

$ smbpasswd -x

untuk menghapus pengguna samba?

nieg
sumber
Sekarang ada juga samba-tool user delete, ada yang tahu apa perbedaan antara samba-tooldan alat-alat lainnya ( smbpasswddan pdbedit)?
Antonio Vinicius Menezes Medei

Jawaban:

8

Keduanya smbpasswddan pdbeditdapat digunakan untuk manajemen pengguna Samba.

Menjawab pertanyaan: pada Samba 4 tidak ada perbedaan antara kedua perintah ini. Kedua perintah akan beroperasi pada file yang sama - baik itu dalam format smbpasswd atau tdbsam - dan melakukan pekerjaan itu.

Memperluas jawaban:

smbpasswdadalah yang lebih tua. Itu digunakan untuk mengelola kredensial Samba yang disimpan dalam format file dengan nama yang sama - smbpasswd . Path default untuk file dalam distro berbasis RedHat adalah /etc/samba/smbpasswd(untuk disambiguasi: program itu sendiri, format file dan file default dari format yang smbpasswddijalankan oleh program semuanya disebut smbpasswd ).

pdbeditmuncul selama siklus pengembangan Samba 3 sebagai pengganti smbpasswd. Dari perspektif pengguna root pdbeditmampu semua operasi yang smbpasswddapat melakukan serta superset dari mereka (mengelola keamanan akun dan pengaturan kebijakan). Format 'asli' untuk menyimpan kredensial Samba pdbeditadalah tdbsam - backend penyimpanan kata sandi berbasis DB sepele. Pada distro berbasis RedHat jalur file defaultnya adalah /var/lib/samba/private/passdb.tdb.

Masalahnya pdbeditadalah bahwa itu hanya dapat digunakan oleh root, sementara smbpasswddapat digunakan oleh pengguna biasa untuk mengubah kata sandi Samba mereka dengan cara yang mirip dengan apa yang passwddilakukan perintah untuk akun sistem Linux. Jadi pemahaman saya adalah bahwa pada Samba 4 pekerjaan manajemen pengguna diteruskan ke pdbeditdan smbpasswddibiarkan di sana untuk pengguna non-root untuk dapat mengubah kata sandi mereka (meskipun root masih dapat digunakan smbpasswduntuk mengelola penyimpanan kredensial Samba secara terbatas).

golem
sumber
4

Dari halaman manual pbdedit :

kutipan

Alat pdbedit menggunakan antarmuka modular passdb dan independen dari jenis database pengguna yang digunakan (saat ini ada berbasis smbpasswd, ldap, nis + dan tdb dan banyak lagi dapat ditambahkan tanpa mengubah alat).

Sedangkan halaman manual smbpasswd :

kutipan

Secara default (saat dijalankan tanpa argumen) akan mencoba mengubah kata sandi SMB pengguna saat ini di mesin lokal. Ini mirip dengan cara program passwd (1) bekerja. smbpasswd berbeda dari cara kerja program passwd dalam hal itu bukan setuid root tetapi bekerja dalam mode client-server dan berkomunikasi dengan smbd yang berjalan secara lokal (8). Sebagai akibatnya agar ini berhasil, daemon smbd harus dijalankan pada mesin lokal. Pada mesin UNIX, kata sandi SMB terenkripsi biasanya disimpan dalam file smbpasswd (5).

Jadi pbdeditdapat memanipulasi berbagai backend kata sandi Samba, sementara smbpasswdhanya dapat memanipulasi jenis backend tersebut.

slm
sumber
Dengan versi Samba saat ini saya telah menginstal (4.1.1) pada CentOS 7 tes saya menunjukkan bahwa kedua perintah dapat memanipulasi format file smbpasswd dan tdbsam (mungkin smbpasswdmemanggil di pdbeditbawahnya ketika berurusan dengan format file tdbsam ).
golem
@ golem - Ya saya menulis ini menggunakan Samba 3.x. Q ini terlalu kabur dalam bentuknya saat ini karena tidak memilih versi Samba tertentu. 3.x tidak bisa seperti yang ditunjukkan halaman manual.
slm