Erro Samba: resposta_trans: parâmetros trans inválidos

Erro Samba: resposta_trans: parâmetros trans inválidos

Estou tentando habilitar o compartilhamento de pastas através do samba no meu servidor Ubuntu 18.04;

O que eu já fiz:

  1. Edite o /etc/samba/smb.conf como a seguir
[global]
workgroup = WORKGROUP
interfaces = lo eth0
server role = standalone server
server string = Samba Server %v
security = user
map to guest = bad user
name resolve order = bcast host
dns proxy = no
bind interfaces only = yes
log file = /var/log/samba/smb.log
max log size = 10000

[Public]
   path = /samba/share
   writable = yes
   guest ok = yes
   guest only = yes
   read only = no
   create mode = 0777
   directory mode = 0777
   force user = nobody
  1. Execute testparm com este resultado
Load smb config files from /etc/samba/smb.conf rlimit_max: increasing
rlimit_max (1024) to minimum Windows limit (16384) Processing section
"[Public]" Loaded services file OK. Server role: ROLE_STANDALONE

Press enter to see a dump of your service definitions

# Global parameters [global]
    bind interfaces only = Yes
    dns proxy = No
    interfaces = lo eth0
    log file = /var/log/samba/smb.log
    map to guest = Bad User
    max log size = 10000
    name resolve order = bcast host
    security = USER
    server role = standalone server
    server string = Samba Server %v
    idmap config * : backend = tdb


[Public]
    create mask = 0777
    directory mask = 0777
    force user = nobody
    guest ok = Yes
    guest only = Yes
    path = /samba/share
    read only = No
  1. Reinicie smbd.service
  2. Tentando fazer logon pelo Windows; o Windows não pode acessar \SERVERNAME\...
  3. Ver registro de erros
[2019/06/23 21:05:54.565424,  0]
../lib/util/become_daemon.c:124(daemon_ready)   STATUS=daemon 'smbd'
finished starting up and ready to serve connections [2019/06/23
21:06:34.482176,  0] ../source3/smbd/ipc.c:843(reply_trans)  
reply_trans: invalid trans parameters

Estou nisso há cerca de 5 dias, alguém tem alguma pista do que está acontecendo? Como consertar isto? Só preciso de um compartilhamento público e outro de acesso restrito.

Responder1

vincular apenas interfaces = Sim

interfaces = lo eth0

Você está dizendo ao samba para usar apenas determinadas interfaces, mas aquela que você especificou ( eth0 ) não existe no Ubuntu 18.04. É uma forma diferente.

A menos que você tenha um motivo para especificar alguma coisa e prefira deixar o samba descobrir isso sozinho, eu removeria essas duas linhas do smb.conf e reiniciaria o smbd:

sudo service smbd restart

Se você quiser especificar uma determinada interface, use este comando para encontrar seu nome real:

nmcli device show | grep DEVICE

Responder2

O Windows agora usa WSD (descoberta de serviços da web?), Que não está incluído nos vários Samba disponíveis a partir do Ubuntu 19.04.

Existe um projeto no github que implementa WSD, escrito em Python. Ele pode ser encontrado emhttps://github.com/christgau/wsddou baixado diretamente emhttps://raw.githubusercontent.com/christgau/wsdd/master/src/wsdd.py

Parte do truque para usar isso é que você precisará habilitar algumas portas através do seu firewall:

As portas 5357/tcp e 3702/udp precisam estar abertas para que o wsdd seja executado.

wsdd pode ser executado a partir da linha de comando ou você pode criar um serviço systemd para executá-lo.

Esta é uma área ativa (talvez) de desenvolvimento do Samba, e algumas informações sobre ela podem ser encontradas emhttps://www.ixsystems.com/community/resources/how-to-kill-off-smb1-netbios-wins-and-still-have-windows-network-neighbourhood-better-than-ever.106/e está atualmente disponível no repositório do usuário Arch e, aparentemente, em algumas outras distros também. Também é mencionado no AskUbuntu emtornar o compartilhamento do samba visível na "Rede" do Windows

Começando como um serviço

Eu criei um arquivo de unidade de serviço systemd para wsdd como /lib/systemd/system/wsdd.service O conteúdo é

[Unit]
Description=WSDD Network Service
BindsTo=smbd.service
After=smbd.service

[Service]
Type=simple
RemainAfterExit=yes
ExecStart=/usr/bin/wsdd
#ExecReload=/user/bin/wsdd

[Install]
WantedBy=multi-user.target

Então mudei wsdd.pypara /usr/bin/wsdde modifiquei suas permissões para 555 (ler e executar).

Finalmente, sudo systemctl enable wsdd.serviceuma reinicialização - e meu sistema Ubuntu agora está visível para meus computadores Win10.

informação relacionada