Linux
Compartilhando arquivos com o Samba
O objetivo do artigo é deixar um repositório de configuração do Samba com Windows que realmente funcione e fique tudo em um só lugar. Como não trabalho o tempo inteiro com LINUX, já fiz curso, já usei muito na Faculdade, mas como tudo que não usamos com frequência, acabamos esquecendo alguma coisa, então por esse motivo resolvi escrever e deixar fácil para sempre que precisar, usá-lo!
O que é Samba?
Samba é um programa de computador, utilizado em sistemas operacionais do tipo Unix, que simula um servidor Windows, permitindo que seja feito gerenciamento e compartilhamento de arquivos em uma rede Microsoft.
Vou deixar aqui uma configuração bem simples do Samba, mas que permita que usuários no LINUX acessem um diretório do Windows e que usuários no Windows acessem um diretório do Linux.
Muito útil para transferir arquivos e fazer backups.
A dica foi testada numa pequena rede com um Ubuntu Server 14.04.2-amd64 e com 15 máquinas Windows 7 e 8, tudo em um roteador.
Primeiramente precisamos obviamente do Samba e logicamente se você não tem o Samba no seu Linux, instale-o, utilizando é claro o comando do seu gosto. Para exemplo, utilizei o apt-get.
Para distribuições baseadas em Debian Linux, com permissão de instalação, basta executar:
# apt-get --install samba
OBS: Lembrando que o objetivo deste artigo não é ensinar como trabalhar com LINUX, portanto não vou ficar detalhando o que está acontecendo, se você já é um usuário familiarizado com o ambiente, com certeza entenderá o que está acontecendo. Este é apenas um lembrete de como fazer, porque é como uma receita de bolo tem que seguir alguns passos!
Antes de tudo, se não existir, crie um arquivo com o nome de smb.conf com o seu editor de texto preferido no diretório do samba, para exemplo usei o Nano:
# nano /etc/samba/smb.conf
e cole nesse arquivo o conteúdo abaixo:
[global] workgroup = MSHOME server string = Servidor Linux security = share hosts allow = 192.168.1.0/24 load printers = no log file = /var/log/samba.%m max log size = 50 socket options = TCP_NODELAY interfaces = XXX.XXX.X.X local master = no domain master = no preferred master = no dns proxy = no encrypt passwords = yes read only = no netbios name = nome-da-sua-rede read only = no [rede] path = /home/rede guest ok = yes public = yes
Modifique o interfaces = XXX.XXX.X.X colocando o endereço IP da sua máquina Linux.
Se ainda não sabe o endereço IP da sua máquina, use o comando:
# ifconfig
Depois de tudo configurado, salve o arquivo em /etc/samba/.
Perceba que o grupo de trabalho escolhido foi o MSHOME, o padrão do Windows. Todas as máquinas Windows devem estar no mesmo grupo, portanto verifique o nome da sua rede e substitua se for o caso.
Agora você precisará criar dois novos diretórios. Um com o nome rede (que foi informado entre [ ] no arquivo acima) em /home (ou o caminho que preferir, estando acostumado é claro) e outro também com o mesmo nome em /mnt que será usado para o LINUX enxergar o WINDOWS, caso queira. Os comandos são:
# mkdir /home/rede # mkdir /mnt/rede
O primeiro será o diretório do Linux que será compartilhado e acessado pelo Windows e, o segundo será o ponto de montagem que receberá o conteúdo do diretório compartilhado do Windows, ou seja, acessar o Windows pelo sistema LINUX.
Pronto, a parte mais difícil foi feita. Agora para que o Samba seja executado ele precisa se tornar um arquivo executável e para isso use o comando init.d ou rc.d dependendo do seu sistema ou gosto:
# chmod +x /etc/init.d/samba
Depois de tornar o Samba executável, inicie-o com o seguinte comando:
# /etc/init.d/samba start
Se quiser parar o Samba use o comando:
# /etc/init.d/samba stop
Se o seu init.samba fica em outro lugar, você poderá encontrá-lo com o comando:
# find / -name init.samba
OK! Tudo deve estar funcionando agora. Em Locais de Redes do Windows, deve aparecer dentro do grupo MSHOME o atalho para o diretório do Linux. Agora, como acessar o Windows pelo Linux? Simples, basta montar o diretório com o comando:
# mount -t cifs -o guest //IP/pasta /mnt/rede
IP = ip da máquina Windows
pasta = pasta da máquina Windows que está compartilhada.
Exemplo, aqui eu fiz:
# mount -t cifs -o guest //XXX.XXX.XX.XX/sharedtestedocs /mnt/rede
O XXX.XXX.XX.XX é o IP de uma das minhas máquinas Windows e o sharedtestedocs é o nome da pasta compartilhada do Windows.
Isso fará com que o conteúdo da pasta compartilhada do Windows seja mostrado no diretório /mnt/rede do Linux.
Agora que tudo está configurado, basta executar o Samba quando quiser.
Se você quer que as pastas sejam acessadas com usuário e senha, use:
public = no (ao invés de yes)
Lembrando que para isso devemos ter um usuário criado no LINUX e no SAMBA que podem ser acessados com o parametro "valid users", exemplo:
valid users = fulano ciclano beltrano
Como falei antes, este é apenas um repositório, portanto os passos de como criar os usuários que serão permitidos utilizar o compartilhamento, você já deve saber como fazer, porque isso foge do escopo deste!
Erro: acesso negado, como resolver?
Se ainda não foi possível fazer o compartilhamento do diretório Linux para Windows, recebendo uma mensagem: Acesso Negado! Depois se seguir toda a dica, se isso acontecer. Por exemplo: você tentar copiar, mover ou criar um arquivo/diretório no diretório da máquina com Linux e dá acesso negado. Faça o seguinte:
# chmod 777 /home/sua-pasta -R
E acrescente ao seu smb.conf o seguinte:
force create mode = 0777 force directory mode = 0777
A partir de agora já era pra estar funcionando seu compartilhamento, caso ainda não o tenha, volte e confira se não se esqueceu de nada, pois se lembre de que o LINUX é case-sensitive, onde letra M é diferente de m.
É isso ai!! =)
Gigasystems Login:
Informe seu e-mail abaixo para continuar!
X
Olá, deixe seu comentário para Compartilhando arquivos com o Samba
victor cardoso
Gustavo Schwan
José Messias Melo