Postagens

Mostrando postagens com o rótulo samba

Samba: SMB Directory Leasing e alterações feitas localmente

Imagem
O Samba 4.22 introduziu o SMB Directory Leasing , habilitado por padrão, que permite aos clientes armazenar em cache a listagem de diretórios por mais tempo. O servidor só notifica os clientes para invalidarem esse cache quando detecta mudanças. Isso acontece, porém, apenas quando as alterações ocorrem via protocolo SMB por outro cliente. Assim, modificações feitas diretamente no sistema de arquivos Linux não são percebidas pelo Samba; os clientes continuam usando o cache antigo e podem levar minutos até verem as mudanças. Vídeo sobre o recurso: Pelo que entendi, há previsão para implementação de monitoramento de mudanças locais usando o smbd-notifyd (um processo auxiliar para esse tipo de tarefa), mas na versão 4.23 a integração ainda não existe. Portanto, se você precisa que alterações locais sejam imediatamente refletidas nos clientes, desative o recurso na seção [global] de /etc/samba/smb.conf : smb3 directory leases = No Em cenários ...

Windows 10 usa mDNS para resolução de nomes na rede local

Cenário: servidor Linux rodando Samba com clientes Windows. Quando acessamos, num grupo de trabalho, outra máquina na rede local pelo nome, digamos \\CENTOS , o Windows 10 tentará os seguintes protocolos para achá-la: NetBIOS, mDNS e LLMNR. 16:57:54.025570 IP 192.168.2.2.netbios-ns > 192.168.2.255.netbios-ns: NBT UDP PACKET(137): QUERY; REQUEST; BROADCAST 16:57:54.025651 IP 192.168.2.2.mdns > 224.0.0.251.mdns: 0 A (QM)? CENTOS.local. (30) 16:57:54.025725 IP6 fe80::f0a4:cbb5:c600:f448.mdns > ff02::fb.mdns: 0 A (QM)? CENTOS.local. (30) 16:57:54.025870 IP 192.168.2.2.mdns > 224.0.0.251.mdns: 0 AAAA (QM)? CENTOS.local. (30) 16:57:54.025929 IP6 fe80::f0a4:cbb5:c600:f448.mdns > ff02::fb.mdns: 0 AAAA (QM)? CENTOS.local. (30) 16:57:54.026235 IP6 fe80::f0a4:cbb5:c600:f448.51438 > ff02::1:3.hostmon: UDP, length 24 16:57:54.026301 IP 192.168.2.2.51438 > 224.0.0.252.hostmon: UDP, length 24 16:57:54.026464 IP6 fe80::f0a4:cbb5:c600:f448.64716 > ff02::1:3.hostmon: UD...

SMB server-side copy

(ou: mais um motivo para deixar o Windows 7 💀 para trás) Quem lida com arquivos grandes acessando-os através de compartilhamentos de rede sofre com Windows anteriores ao 8/Server 2012 pela falta de suporte à requisição FSCTL_SRV_COPYCHUNK do protocolo SMB2 no Windows Explorer. Suponha que copiemos \\serv\pasta1\arq.7z para \\serv\pasta2 . No Windows 7, todo o conteúdo de arq.7z trafegará pela rede duas vezes: primeiro do servidor para o cliente (leitura), depois do cliente para o servidor (escrita). A partir do Windows 8, o cliente apenas diz ao servidor para copiar o arquivo de uma pasta para outra — a cópia é feita internamente no servidor, sem trafegar pela rede. Faz uma diferença enorme. Suportado a partir do Samba 4.1.0 sem necessidade de configuração adicional. Referências: Server-Side Copy (SambaWiki) Relacionado: Guia de configuração do Samba não-PDC

Windows 10 1709 e compartilhamentos sem autenticação

Imagem
Foram notícia, quando a versão 1709 saiu, as mudanças feitas pela Microsoft no servidor e cliente SMB: SMBv1 is not installed by default in Windows 10 Fall Creators Update and Windows Server, version 1709 SMBv1 (Windows XP/Server 2003 e anteriores) foi aposentado. Com exceção de certos NAS rodando versões caducas do Samba, SMBv1 não faz mais falta. Outra mudança mais sutil deu as caras nas versões Server, Enterprise e Education: Guest access in SMB2 disabled by default in Windows 10 Fall Creators Update and Windows Server 2016 version 1709 Acesso a compartilhamentos sem autenticação, através da conta Convidado , são bloqueados. Tais compartilhamentos são habilitados, no Windows (como servidor), selecionando "Desativar compartilhamento protegido por senha" em "Central de Rede e Compartilhamento → Alterar as configurações de compartilhamento avançadas", ou ao usar map to guest = Bad User no Samba . Mesmo não sendo boa prática, é algo comum em pequenas ...

Timeout ao desmontar compartilhamento SMB durante o desligamento

Imagem
Pontos de montagem autofs são úteis para compartilhamentos de rede. Com o systemd, basta adicionar, em /etc/fstab , x-systemd.automount nas opções. Exemplo: //192.168.0.10/Arquivos /mnt/Arquivos cifs credentials=/etc/senha-servidor,uid=marcos,gid=marcos,file_mode=0600,dir_mode=0700,x-systemd.automount 0 0 Isso evita que precisemos habilitar um serviço que implemente network-online.target , como NetworkManager-wait-online.service ou systemd-networkd-wait-online.service . Assim, não há atraso durante a inicialização. Apenas quando o ponto de montagem for acessado será montado. Porém, durante o desligamento, a desmontagem sempre dava timeout e causava atraso com o NetworkManager ao usar conexões sem fio. Analisando a cadeia de dependências, nada achei de errado. Estava em outro lugar o problema. O nm-applet , aquele programinha que fica no tray, salva conexões sem fio [1] , pelo menos ao usar o plugin nativo keyfile , com o parâmetro connection.permissions configurado para o us...

Samba 4.0.0

Grande notícia para os servidores Linux! Agora o Samba é compatível com o Active Directory. Samba 4 delivers free software Active Directory support (The H) Infelizmente, por um detalhe de implementação (Heimdal x MIT Kerberos), o pacote do Fedora 18 não terá a capacidade de atuar como AD DC funcional. Ficará para o Fedora 19.

Versão do protocolo SMB no Samba

No Samba 3.6.0 foi adicionado o suporte ao protocolo SMB 2.0, que inaugurou no Windows Vista. Era necessário configurá-lo com a opção max protocol = SMB2 para disponibilizar para os clientes o novo protocolo, pois do contrário apenas trabalhava com SMB 1.0. No Samba 4.0.0, a opção max protocol foi quebrada em client max protocol e server max protocol e ele agora suporta SMB 3.0, que é usado pelo Windows 8/Server 2012. A configuração padrão para as duas opções é SMB3 . Por isso, se estiver usando max protocol = SMB2 (que é traduzida para server max protocol ) de um arquivo de configuração proveniente da versão antiga, remova-a para permitir ao Samba usar protocolo mais novo quando suportado pelo cliente.

Guia de configuração do Samba não-PDC

Se você pesquisar por "smb.conf" no Google achará uma infinidade de tutoriais mostrando arquivos gigantes de configuração, sempre com uma tonelada de opções inúteis e obsoletas (quando não prejudiciais), que são passados adiante por blogs, fóruns, sites, sem a mínima análise do seu conteúdo. Minha motivação aqui é ir contra a maré do copiar/colar e explicar uma configuração enxuta, baseada em versões recentes do Samba (4.3.0 ou superior), para o comum cenário de tê-lo servindo algumas pastas na rede da sua casa ou escritório em um grupo de trabalho, sem atuar como controlador de domínio (PDC). O primeiro conselho é não ir atrás dos smb.conf gigantes. Faça justamente o contrário: a partir de uma configuração mínima, vá adaptando até chegar no que for ideal. As opções padrão que o Samba usa para o que não estiver especificado no arquivo são na maioria dos casos suficientes e otimizadas. E use a ferramenta testparm , que é muito útil para enxugar baboseira do arquivo. Com...

Duas dicas rápidas para o Samba

Post original: Cobian - backup incremental X Samba Estudando o Samba descobri que a partir da versão 3.5 ele é capaz de emular por completo a semântica do NTFS rodando sobre sistemas de arquivos Linux (ok..., ok, POSIX) se você especificar a opção store dos attributes = Yes no compartilhamento, ou na seção [global] para aplicar a todos. O pré-requisito é que o sistema de arquivos usado suporte atributos estendidos. Felizmente sistemas de arquivos modernos suportam e habilitam por padrão caso o kernel tenha sido compilado com suporte — o que todas as principais distribuições fazem. [Atualização - 14/10/2015] Removidas as opções map archive = No , map hidden = No , map readonly = No e map system = No . São desnecessárias com store dos attributes = Yes . A documentação da versão 4.1 esclareceu a questão . Ainda no assunto, se você tem juízo e usa um sistema de arquivos moderno no seu servidor, coloque no smb.conf , na seção [global] , a opção strict allocate = Yes , que, a part...

Colocar o Samba a funcionar com o SELinux

Antes de mais nada: SELinux é uma camada de proteção do sistema operacional. Procurem resistir à tentação de desabilita-lo! Quando a pasta encontra-se dentro de qualquer pasta dentro do /home é tranquilo, habilite o boleano samba_enable_home_dirs . # setsebool -P samba_enable_home_dirs 1 Porém quando é fora do /home , o SELinux bloqueará o acesso. Por exemplo, vamos usar este /etc/samba/smb.conf : [global] workgroup = GRUPO server string = logging = systemd map to guest = Bad User load printers = No [Arquivos] path = /arquivos read only = No guest ok = Yes (ver Guia de configuração do Samba não-PDC para uma configuração mais completa) E criar a pasta /arquivos com tudo liberado: # mkdir -m 0777 /arquivos Aparenta estar certo. Acessos não autenticados usarão a conta nobody , que poderá escrever em /arquivos . Além disso, o firewall foi corretamente configurado para liberar o Samba. Contudo, continua não funcionando. Falta configura...