Estou tentando habilitar o compartilhamento de pastas através do samba no meu servidor Ubuntu 18.04;
O que eu já fiz:
- 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
- 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
- Reinicie smbd.service
- Tentando fazer logon pelo Windows; o Windows não pode acessar \SERVERNAME\...
- 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.py
para /usr/bin/wsdd
e modifiquei suas permissões para 555 (ler e executar).
Finalmente, sudo systemctl enable wsdd.service
uma reinicialização - e meu sistema Ubuntu agora está visível para meus computadores Win10.