Instalei o samba no meu servidor e estou tentando escrever um script para me poupar das duas etapas para adicionar usuário, por exemplo:
adduser username
smbpasswd -a username
Meus 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
Leituras adicionais me levaram à pdbedit
página de manual, que afirma:
-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.
Então ... agora eu decidi tentar adicionar um usuário com smbpasswd
:
1ª tentativa, o usuário unix ainda não existe:
root@raspberrypi:/home/pi# smbpasswd -a newuser
New SMB password:
Retype new SMB password:
Failed to add entry for user newuser.
Segunda tentativa, o usuário unix existe:
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
Então, agora eu estou me perguntando:
- como faço para sincronizar senhas samba com senhas unix?
- onde as senhas do samba são armazenadas?
Alguém pode me ajudar a me esclarecer?
debian
samba
password-management
Oz123
fonte
fonte
/var/lib/samba/
, acredito que estejam,secrets.tdb
mas não tenho certeza. Quanto à sua pergunta anterior, duvido que exista uma maneira fácil.Respostas:
Bem ... o link que faltava era:
Portanto, após a instalação desses pacotes, ele funciona conforme o esperado. A memória de longo prazo da Internet apenas traz informações parciais às vezes. Então, para combater isso, estou publicando aqui o link correto como sincronizar senhas samba com senhas unix e também meu próprio teste.
Espero que isto ajude alguém.
atualização 2017:
libpam-smbpass
está obsoleto . Parece o que o substituiupam_winbindd
. Você pode instalar o pacotelibpam-winbind
para obtê-lo. No entanto, isso ainda não sincroniza as senhas do samba com as senhas do unix. Em vez disso, permite que você seja autenticado para unix com um servidor de autenticação do Windows (AD). Você pode encontrar informações sobre isso aqui: https://wiki.samba.org/index.php/Setting_up_Samba_as_an_Active_Directory_Domain_Controllerfonte
libpam-smbpass
um sistema Debian 9.1 e também não funciona para mim. Como é possível que essa pergunta simples tenha sido feita tantas vezes e ainda não tenha resposta?libpam-winbind
NÃO pode ser encontrado no CentOS7.Queria comentar a resposta anterior, mas não pôde fazê-lo por falta de pontos de reputação. Tentei colocar o conteúdo completo nesta resposta, mas não consegui, pois dizia que parecia spam. Aqui está o acesso ao conteúdo completo na máquina de wayback e a seguir, uma breve versão dos pontos principais:
Sincronização de senhas Unix e Samba no Debian Etch
Instale os seguintes pacotes:
Unix -> Samba
Para atualizar a senha do Samba sempre que um usuário alterar sua senha Unix, altere
/etc/pam.d/common-password: from
para
Alterar "obrigatório" para "requisito" para pam_unix garantirá que, se a alteração da senha do Unix falhar, a execução dos plug-ins termina imediatamente.
Para que isso funcione, os usuários já devem ter contas Samba e suas senhas Samba devem corresponder às senhas Unix. Porque este não é necessariamente o caso, devemos mudar
/etc/pam.d/common-auth: from
para
Isso criará um usuário do Samba, se ele ainda não existir, e mudará sua senha para a senha do Unix, sempre que o usuário fizer login usando SSH ou qualquer outro serviço que use autenticação do sistema padrão (autenticação comum).
Você deverá ver uma mensagem Usuário adicionado ao fazer login usando SSH com uma conta que ainda não tem uma conta Samba.
Como isso também criará uma conta Samba para root, convém desativar o acesso root no Samba (o Debian Etch o desativou por padrão):
/etc/samba/smb.conf:
Advertência : Isso não funcionará se o usuário efetuar login via SSH ou outros serviços sem usar uma senha (por exemplo, usando autenticação de chave pública / privada). Nesse caso, o PAM não terá a senha de texto sem formatação, necessária para criar a senha do Samba.
Aviso : Quando você modifica a senha comum para também exigir atualizações de senhas do Samba, qualquer usuário conectado no momento não poderá alterar sua senha usando "passwd" até que faça login novamente, a menos que já tenha uma conta Samba existente com uma senha igual para sua senha Unix.
Samba -> Unix
Instruímos o Samba a usar o PAM ao alterar senhas:
/etc/samba/smb.conf:
Reinicie o Samba usando /etc/init.d/samba restart.
Configure o PAM para suportar a alteração de senha pelo Samba adicionando @include common-password:
/etc/pam.d/samba:
Isso usará o mesmo mecanismo para alterar senhas ao usar o Samba e ao usar "passwd". Isso significa que será necessária uma atualização da senha do Unix antes de tentar alterar a senha do Samba.
Criando novos usuários
use chpasswd para evitar erros:
fonte
pam_smbpass.so
. Pode me ajudar? link: stackoverflow.com/questions/52932070/…