Instalé samba en mi servidor y estoy tratando de escribir un script para ahorrarme los dos pasos para agregar un usuario, por ejemplo:
adduser username
smbpasswd -a username
Mis smb.conf
estados:
# This boolean parameter controls whether Samba attempts to sync the Unix
# password with the SMB password when the encrypted SMB password in the
# passdb is changed.
unix password sync = yes
La lectura adicional me llevó a la pdbedit
página de manual que dice:
-a This option is used to add a user into the database. This com-
mand needs a user name specified with the -u switch. When adding
a new user, pdbedit will also ask for the password to be used.
Example: pdbedit -a -u sorce
new password:
retype new password
Note
pdbedit does not call the unix password syncronisation script if
unix password sync has been set. It only updates the data in the
Samba user database.
If you wish to add a user and synchronise the password that im-
mediately, use smbpasswd’s -a option.
Entonces ... ahora decidí intentar agregar un usuario con smbpasswd
:
Primer intento, el usuario de Unix todavía no existe:
root@raspberrypi:/home/pi# smbpasswd -a newuser
New SMB password:
Retype new SMB password:
Failed to add entry for user newuser.
Segundo intento, existe un usuario de Unix:
root@raspberrypi:/home/pi# useradd mag
root@raspberrypi:/home/pi# smbpasswd -a mag
New SMB password:
Retype new SMB password:
Added user mag.
# switch to user pi, and try to switch to mag
root@raspberrypi:/home/pi# su pi
pi@raspberrypi ~ $ su mag
Password:
su: Authentication failure
Entonces, ahora me pregunto:
- ¿Cómo sincronizo las contraseñas de Samba con las contraseñas de Unix?
- ¿Dónde se almacenan las contraseñas de samba?
¿Alguien puede ayudarme a iluminarme?
debian
samba
password-management
Oz123
fuente
fuente
/var/lib/samba/
, creo que las contraseñas están ensecrets.tdb
pero no estoy seguro. En cuanto a su pregunta anterior, dudo que haya una manera fácil.Respuestas:
Bueno ... el eslabón perdido era:
Entonces, después de instalar estos paquetes, funciona como se esperaba. La memoria a largo plazo de Internet solo trae información parcial a veces. Entonces, para combatir esto, estoy publicando aquí el enlace correcto sobre cómo sincronizar las contraseñas de samba con las contraseñas de Unix , y también mi propia prueba.
Espero que esto ayude a alguien más.
actualización 2017:
libpam-smbpass
está en desuso . Parece lo que lo reemplazó espam_winbindd
. Puede instalar el paquetelibpam-winbind
para obtenerlo. Sin embargo, esto aún no sincroniza las contraseñas de samba con sus contraseñas de Unix. En cambio, le permite autenticarse en Unix con un servidor de autenticación de Windows (AD). Puede encontrar información sobre eso aquí: https://wiki.samba.org/index.php/Setting_up_Samba_as_an_Active_Directory_Domain_Controllerfuente
libpam-smbpass
en un sistema Debian 9.1 y tampoco me funciona. ¿Cómo puede ser que esta simple pregunta se haya hecho tantas veces y todavía no tenga respuesta?libpam-winbind
NO se puede encontrar en CentOS7.Quería comentar sobre la respuesta anterior, pero no pudo hacerlo por falta de puntos de reputación. Intenté poner el contenido completo en esta respuesta, pero no pude como decía que parecía spam. aquí está el acceso al contenido completo en la máquina wayback, y la siguiente es la breve versión de los puntos principales:
Sincronización de contraseña de Unix y Samba en Debian Etch
Instale los siguientes paquetes:
Unix -> Samba
Para actualizar la contraseña de Samba cada vez que un usuario cambie su contraseña de Unix, cambie
/etc/pam.d/common-password: desde
a
Cambiar "requerido" a "requisito" para pam_unix asegurará que si falla el cambio de contraseña de Unix, la ejecución de los complementos finaliza inmediatamente.
Para que esto funcione, los usuarios ya deben tener cuentas de Samba, y sus contraseñas de Samba deben coincidir con sus contraseñas de Unix. Debido a que este no es necesariamente el caso, debemos cambiar
/etc/pam.d/common-auth: desde
a
Esto creará un usuario de Samba, si aún no existe, y cambiará su contraseña a la contraseña de Unix, siempre que el usuario inicie sesión con SSH o cualquier otro servicio que use la autenticación predeterminada del sistema (autenticación común).
Debería ver un mensaje Usuario agregado al iniciar sesión con SSH con una cuenta que aún no tiene una cuenta Samba.
Debido a que esto también creará una cuenta Samba para root, es posible que desee deshabilitar el acceso root en Samba (Debian Etch lo tiene deshabilitado por defecto):
/etc/samba/smb.conf:
Advertencia : esto no funcionará si el usuario inicia sesión a través de SSH u otros servicios sin usar una contraseña (por ejemplo, mediante la autenticación de clave pública / privada). En este caso, PAM no tendrá la contraseña de texto sin formato, que es necesaria para crear la contraseña de Samba.
Aviso : cuando modifique la contraseña común para que también requiera actualizaciones de las contraseñas de Samba, los usuarios que hayan iniciado sesión actualmente no podrán cambiar su contraseña usando "passwd" hasta que vuelvan a iniciar sesión, a menos que ya tengan una cuenta de Samba con una contraseña igual a su contraseña de Unix.
Samba -> Unix
Le indicamos a Samba que use PAM al cambiar las contraseñas:
/etc/samba/smb.conf:
Reinicie Samba usando /etc/init.d/samba restart.
Configure PAM para admitir el cambio de contraseña por parte de Samba agregando @include contraseña común:
/etc/pam.d/samba:
Esto usará el mismo mecanismo para cambiar las contraseñas cuando se usa Samba que cuando se usa "passwd". Esto significa que requerirá una actualización de la contraseña de Unix antes de intentar cambiar la contraseña de Samba.
Creando nuevos usuarios
use chpasswd para evitar errores:
fuente
pam_smbpass.so
. ¿Me puedes ayudar? enlace: stackoverflow.com/questions/52932070/…