Partilhando Arquivos entre Ubuntu 20.04 e Sistemas Windows com Samba
On Janeiro 21, 2022 by adminEmbora o Linux tenha feito algumas incursões no mercado de desktop, suas origens e futuro são muito baseadas em servidores. Não é surpreendente, portanto, que o Ubuntu tenha a capacidade de agir como um servidor de arquivos. Também é extremamente comum que sistemas Ubuntu e Windows sejam usados lado a lado em ambientes de rede. É um requisito comum, portanto, que os arquivos em um sistema Ubuntu sejam acessíveis aos sistemas Linux, UNIX e Windows através de conexões de rede. Da mesma forma, pastas compartilhadas e impressoras residentes em sistemas Windows também podem precisar ser acessíveis a partir de sistemas baseados no Ubuntu.
Sistemas Windows compartilham recursos como sistemas de arquivos e impressoras usando um protocolo conhecido como Server Message Block (SMB). Para que um sistema Ubuntu possa servir tais recursos através de uma rede para um sistema Windows e vice versa, ele deve, portanto, suportar SMB. Isto é conseguido utilizando a tecnologia chamada Samba. Além de prover integração entre sistemas Linux e Windows, o Samba também pode ser usado para prover compartilhamento de pastas entre sistemas Linux (como uma alternativa ao NFS que foi abordado no capítulo anterior).
Neste capítulo vamos ver os passos necessários para compartilhar recursos de sistema de arquivos e impressoras em um sistema Ubuntu com sistemas remotos Windows e Linux, e para acessar recursos Windows a partir do Ubuntu.
1.1 Acessando Recursos do Windows a partir do Ambiente GNOME
Antes de entrar em mais detalhes sobre compartilhamento de Samba, vale notar que se tudo o que você quer fazer é acessar pastas compartilhadas do Windows a partir do Ambiente GNOME do Ubuntu, então o suporte já é fornecido dentro do aplicativo de arquivos do GNOME. A aplicação Arquivos está localizada no traço como destacado na Figura 23-1:
>
Figure 23-1
Once lançado, selecione a opção Outros Locais no painel de navegação à esquerda seguido pelo ícone Rede do Windows no painel principal para navegar pelos recursos disponíveis do Windows:
Figure 23-2
1.2 Samba e Samba Client
Samba permite que tanto recursos do Ubuntu sejam compartilhados com sistemas Windows quanto recursos do Windows sejam compartilhados com sistemas Ubuntu. O Ubuntu acessa os recursos do Windows usando o cliente Samba. Os recursos do Ubuntu, por outro lado, são compartilhados com sistemas Windows instalando e configurando o serviço Samba.
1.3 Instalando o Samba em um Sistema Ubuntu
As configurações padrão usadas durante o processo de instalação do Ubuntu normalmente não instalam os pacotes Samba necessários. A menos que você tenha solicitado especificamente que o Samba fosse instalado, é improvável que você tenha o Samba instalado no seu sistema. Para verificar se o Samba está instalado, abra uma janela de terminal e execute o seguinte comando:
# apt -qq list samba-common samba smbclient
Todos os pacotes em falta podem ser instalados usando a ferramenta de linha de comando do apt:
# apt install samba-common samba smbclient
1.4 Configurando o Firewall do Ubuntu para habilitar o Samba
Next, o firewall que atualmente protege o sistema Ubuntu precisa ser configurado para permitir o tráfego do Samba.
Se você estiver usando o Firewall sem complicações (ufw) execute o seguinte comando:
# ufw allow samba
Alternativamente, se você estiver usando firewalld, execute o comando firewall-cmd como a seguir:
# firewall-cmd --permanent --add-port={139/tcp,445/tcp}# firewall-cmd --reload
Antes de iniciar o serviço Samba são necessários vários passos de configuração para definir como o sistema Ubuntu aparecerá nos sistemas Windows, e os recursos que devem ser compartilhados com clientes remotos. A maioria dessas tarefas de configuração ocorre dentro do arquivo /etc/samba/smb. conf.
1.5 Configurando o arquivo smb.conf
Samba é um sistema altamente flexível e configurável que fornece muitas opções diferentes para controlar como os recursos são compartilhados em redes Windows. Esta flexibilidade pode levar à sensação de que o Samba é excessivamente complexo para se trabalhar. Na realidade, porém, muitas das opções de configuração não são necessárias para a instalação típica, e a curva de aprendizado para configurar uma configuração básica é na verdade bastante curta.
Para os propósitos deste capítulo vamos olhar para unir um sistema Ubuntu a um grupo de trabalho do Windows e configurar um diretório como um recurso compartilhado que pode ser acessado por um usuário específico. Esta é uma configuração conhecida como servidor Samba autônomo. Configurações mais avançadas como a integração do Samba dentro de um ambiente Active Directory também estão disponíveis, embora estas estejam fora do âmbito deste livro.
O primeiro passo na configuração do Samba é editar o ficheiro /etc/samba/smb.conf.
1.5.1 Configurar a Secção
O ficheiro smb.conf está dividido em secções. A primeira seção é a seção onde as configurações podem ser especificadas que se aplicam a toda a configuração do Samba. Enquanto essas configurações são globais, cada opção pode ser substituída dentro de outras seções do arquivo de configuração.
A primeira tarefa é definir o nome do grupo de trabalho do Windows no qual os recursos do Ubuntu devem ser compartilhados. Isto é controlado através do grupo de trabalho = diretiva da seção que por padrão é configurada da seguinte forma:
workgroup = WORKGROUP
Begin alterando isto para o nome real do grupo de trabalho se necessário.
Além da configuração do grupo de trabalho, as outras configurações indicam que este é um servidor autônomo no qual os recursos compartilhados serão protegidos por senhas de usuários. Antes de passar à configuração dos recursos a serem compartilhados, outros parâmetros também precisam ser adicionados à seção da seguinte forma:
.. netbios name = LinuxServer..
A propriedade “netbios name” especifica o nome pelo qual o servidor será visível para outros sistemas na rede.
1.5.2 Configurando um recurso compartilhado
O próximo passo é configurar os recursos compartilhados (em outras palavras, os recursos que serão acessíveis a partir de outros sistemas na rede Windows). Para conseguir isso, a seção recebe um nome pelo qual será referenciada quando compartilhada. Por exemplo, se planejamos compartilhar o diretório /sampleshare do nosso sistema Ubuntu, podemos intitular a seção . Nesta seção, uma variedade de opções de configuração é possível. Para os propósitos deste exemplo, no entanto, vamos simplesmente definir o diretório que será compartilhado, indicar que o diretório é tanto navegável quanto gravável e declarar o recurso público para que usuários convidados possam obter acesso:
comment = Example Samba share path = /sampleshare browseable = Yes public = yes writable = yes
Para restringir o acesso a usuários específicos, a propriedade “usuários válidos” pode ser usada, por exemplo:
valid users = demo, bobyoung, marcewing
1.5.3 Removendo ações desnecessárias
O arquivo smb.conf é pré-configurado com seções para compartilhar impressoras e as pastas home dos usuários no sistema. Se estes recursos não precisam ser compartilhados, as seções correspondentes podem ser comentadas para que sejam ignoradas pelo Samba. No exemplo seguinte, a seção foi comentada:
..## comment = Home Directories# valid users = %S, %D%w%S# browseable = No# read only = No# inherit acls = Yes..
1.6 Criando um usuário Samba
Qualquer usuário que requeira acesso a um recurso compartilhado Samba deve ser configurado como um usuário Samba e deve receber uma senha. Esta tarefa é realizada utilizando a ferramenta de linha de comando smbpasswd. Considere, por exemplo, que um usuário chamado demo é necessário para poder acessar o diretório /sampleshare do nosso sistema Ubuntu a partir de um sistema Windows. A fim de cumprir este requisito, devemos adicionar o demo como um usuário Samba como segue:
# smbpasswd -a demoNew SMB password:Retype new SMB password:Added user demo.
Agora que tenhamos completado a configuração de um servidor Samba muito básico, é hora de testar nosso arquivo de configuração e então iniciar os serviços Samba.
1.7 Testando o arquivo smb.conf
As configurações no smb.conf pode ser verificado para erros usando a ferramenta de linha de comando testparm como segue:
# testparmLoad smb config files from /etc/samba/smb.confrlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)WARNING: The "syslog" option is deprecatedProcessing section ""Processing section ""Processing section ""Loaded services file OK.Server role: ROLE_STANDALONE Press enter to see a dump of your service definitions # Global parametersdns proxy = Nolog file = /var/log/samba/log.%mmap to guest = Bad Usermax log size = 1000netbios name = LINUXSERVERobey pam restrictions = Yespam password change = Yespanic action = /usr/share/samba/panic-action %dpasswd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .passwd program = /usr/bin/passwd %usecurity = USERserver role = standalone serverserver string = %h server (Samba, Ubuntu)syslog = 0unix password sync = Yesusershare allow guests = Yeswins support = Yesidmap config * : backend = tdb browseable = Nocomment = All Printerscreate mask = 0700path = /var/spool/sambaprintable = Yes comment = Printer Driverspath = /var/lib/samba/printers comment = Example Samba shareguest ok = Yespath = /sampleshareread only = No
1.8 Iniciando o Samba e NetBIOS Name Services
Para que um servidor Ubuntu funcione dentro de uma rede Windows, ambos os serviços Samba (SMB) e NetBIOS nameservice (NMB) devem ser iniciados. Opcionalmente, habilite também os serviços para que eles sejam iniciados cada vez que o sistema inicia:
# systemctl enable smbd# systemctl start smbd# systemctl enable nmbd# systemctl start nmbd
Antes de tentar conectar de um sistema Windows, use o utilitário smbclient para verificar se o compartilhamento está configurado:
# smbclient -U demo -L localhost Enter WORKGROUP\demo's password: Sharename Type Comment--------- ---- -------print$ Disk Printer Driverssampleshare Disk Example Samba shareIPC$ IPC IPC Service (demo-server2 server (Samba, Ubuntu))Officejet_Pro_8600_C7C718_ Printer Officejet_6600_971B9B_ Printer Reconnecting with SMB1 for workgroup listing. Server Comment--------- ------- Workgroup Master--------- -------WORKGROUP LINUXSERVER
1.9 Acessando o Samba Shares
Agora os recursos do Samba estejam configurados e os serviços em execução, é hora de acessar o recurso compartilhado a partir de um sistema Windows. Em um sistema Windows adequado no mesmo grupo de trabalho que o sistema Ubuntu, abra o Windows Explorer e navegue até o painel Rede. Neste ponto, o explorador deve pesquisar a rede e listar quaisquer sistemas usando o protocolo SMB que encontrar. A figura seguinte ilustra um sistema Ubuntu chamado LINUXSERVER localizado usando o Windows Explorer em um sistema Windows 10:
Figure 23-3
>
Duplo clique no host LINUXSERVER irá solicitar o nome e a senha de um usuário com privilégios de acesso. Neste caso é a conta demo que configuramos usando a ferramenta smbpasswd:
Figure 23-4
Entrar o nome de usuário e senha resultará no aparecimento dos recursos compartilhados configurados para aquele usuário na janela do explorador, incluindo o recurso /sampleshare previamente configurado:
Figure 23-5
>
Doclique duas vezes no recurso compartilhado /sampleshare exibirá uma listagem dos arquivos e diretórios contidos nele.
Se você não conseguir ver o sistema Linux ou tiver problemas para acessar a pasta compartilhada, tente mapear o Samba share para uma unidade local do Windows da seguinte forma:
- Abra o Explorador de arquivos do Windows, clique com o botão direito do mouse na entrada Network no painel esquerdo e selecione Map network drive… no menu resultante.
- Na caixa de diálogo Map Network Drive, selecione uma letra de unidade antes de inserir o caminho para a pasta compartilhada. Por exemplo:
\LinuxServer\sampleshare
Ative a caixa de seleção ao lado de Conectar usando credenciais diferentes. Se você não quiser que a unidade seja mapeada cada vez que entrar no sistema Windows, desligue a caixa de seleção correspondente:
Figure 23-6
Com as configurações inseridas, clique no botão Finish para mapear a unidade, digitando o nome de usuário e senha para o usuário Samba configurado anteriormente no capítulo quando solicitado. Após um curto atraso o conteúdo do Samba compartilhado aparecerá em uma nova janela do File Explorer.
1.10 Acessando Ações do Windows a partir do Ubuntu
Como mencionado anteriormente, o Samba é uma rua de dois sentidos, permitindo não só que os sistemas Windows acessem arquivos e impressoras hospedadas em um sistema Ubuntu, mas também permitindo que o sistema Ubuntu acesse recursos compartilhados em sistemas Windows. Isto é conseguido usando o pacote smbclient que foi instalado no início deste capítulo. Se não estiver instalado atualmente, instale-o a partir de uma janela de terminal da seguinte forma:
# apt install smbclient
Recursos compartilhados em um sistema Windows podem ser acessados a partir do desktop do Ubuntu usando o aplicativo Files, ou a partir do prompt de linha de comando usando as ferramentas smbclient e de montagem. Os passos nesta seção assumem que as configurações apropriadas de compartilhamento de rede foram ativadas no sistema Windows.
Para acessar quaisquer recursos compartilhados em um sistema Windows usando a área de trabalho GNOME, comece iniciando o aplicativo Arquivos e selecionando a opção Outros Locais. Isto exibirá a tela mostrada na Figura 23-7 abaixo incluindo um ícone para a Rede Windows (se for detectado):
Figure 23-7
Selecionar a opção Rede Windows exibirá os sistemas Windows detectados na rede e permitirá o acesso a quaisquer recursos compartilhados.
Figure 23-8
Alternativamente, a opção Connect to Server pode ser usada para conectar a um sistema específico. Note que o nome ou endereço IP do sistema remoto deve ser prefixado por smb:// e pode ser seguido pelo caminho para um recurso compartilhado específico, por exemplo:
smb://WinServer10/Documents
Deixe uma resposta