Eliminar un usuario de samba: pbdedit vs. smbpasswd, ¿cuál es la diferencia?

12

Cuál es la diferencia entre

$ pdbedit -x

y

$ smbpasswd -x

eliminar usuarios de samba?

nieg
fuente
Ahora también hay samba-tool user delete, ¿alguien sabe cuál es la diferencia entre samba-tooly esas otras herramientas ( smbpasswdy pdbedit)?
Antonio Vinicius Menezes Medei

Respuestas:

8

Ambos smbpasswdy pdbeditse pueden usar para la gestión de usuarios de Samba.

Respondiendo a la pregunta: a partir de Samba 4 no hay diferencia entre estos dos comandos. Ambos comandos operarán en el mismo archivo, ya sea en formato smbpasswd o tdbsam , y harán el trabajo.

Ampliando la respuesta:

smbpasswdEs el más viejo. Se utilizó para administrar las credenciales de Samba almacenadas en el formato de archivo del mismo nombre: smbpasswd . La ruta predeterminada para el archivo en distribuciones basadas en RedHat era /etc/samba/smbpasswd(para desambiguar: el programa en sí, el formato de archivo y el archivo predeterminado de ese formato en el smbpasswdque opera el programa se llaman smbpasswd ).

pdbeditsurgió durante el ciclo de desarrollo de Samba 3 como reemplazo de smbpasswd. Desde la perspectiva del usuario root, pdbedites capaz de realizar todas las operaciones que smbpasswdpuede realizar tan bien como un superconjunto de ellas (administrar la seguridad de la cuenta y la configuración de políticas). El formato 'nativo' para almacenar credenciales de Samba pdbedites tdbsam : backend de almacenamiento de contraseña basado en Trivial DB. En las distribuciones basadas en RedHat, la ruta de archivo predeterminada es /var/lib/samba/private/passdb.tdb.

El problema con esto pdbedites que solo puede ser usado por root, mientras smbpasswdque los usuarios regulares pueden usarlo para cambiar sus contraseñas de Samba de una manera similar a lo que passwdhace el comando para las cuentas del sistema Linux. Entonces, entiendo que a partir de Samba 4, el trabajo de administración de usuarios se transfiere pdbedity smbpasswdse deja allí para que los usuarios no root puedan cambiar sus contraseñas (aunque root aún puede usar smbpasswdpara administrar el almacenamiento de credenciales de Samba de manera limitada).

golem
fuente
4

Desde la página de manual de pbdedit :

extracto

La herramienta pdbedit usa la interfaz modular passdb y es independiente del tipo de base de datos de usuarios utilizada (actualmente hay smbpasswd, ldap, nis + y tdb y se pueden agregar más sin cambiar la herramienta).

Mientras que la página de manual de smbpasswd :

extracto

Por defecto (cuando se ejecuta sin argumentos) intentará cambiar la contraseña SMB del usuario actual en la máquina local. Esto es similar a la forma en que funciona el programa passwd (1). smbpasswd difiere de cómo funciona el programa passwd en que no es setuid root sino que funciona en modo cliente-servidor y se comunica con un smbd (8) que se ejecuta localmente. Como consecuencia, para que esto tenga éxito, el demonio smbd debe estar ejecutándose en la máquina local. En una máquina UNIX, las contraseñas SMB cifradas generalmente se almacenan en el archivo smbpasswd (5).

Por pbdeditlo tanto, puede manipular una variedad de backends de contraseña de Samba, mientras smbpasswdque solo puede manipular ese tipo de backend.

slm
fuente
Con la versión actual de Samba que instalé (4.1.1) en CentOS 7, mis pruebas muestran que ambos comandos pueden manipular los formatos de archivo smbpasswd y tdbsam (tal vez smbpasswdllamadas pdbeditdebajo cuando se trata del formato de archivo tdbsam ).
Golem
@golem - Sí, escribí esto usando Samba 3.x. Esta Q es demasiado vaga en su forma actual, ya que no destaca ninguna versión particular de Samba. 3.x no pudo como lo indicaban las páginas del manual.
slm