Caros amigos, me deparei com um problema recentemente que não é novo porém, muitos administradores de sistemas linux como eu, passam em seu dia a dia que é o compartilhamento de pastas que estão em um servidor linux para um ambiente Windows. Antes eu resolvia isso colocando a máquina linux no domínio windows e configurando o samba com um monte de regras porém, resolvi pesquisar e descobri que tem um modo muito mais fácil de resolver isso. Para isso temos que seguir alguns passos que são:
1 - Criar a pasta no ambiente linux que será compartilhada no windows.
2 - Configurar o arquivo samba.conf.
3 - Liberar as portas do samba no firewall Iptables.
Vamos lá
OBSERVAÇÃO: Para facilitar o entendimento do samba.conf, colocarei possíveis comentários em vermelho. Para facilitar o entendimento de comandos colocarei em azul.
1 - Criar a pasta no ambiente linux que será compartilhada no windows
Neste exemplo colocarei a pasta no diretório / porém, a pasta pode ser criada em qualquer diretório desde que seja infomado o endereço correto no smb.conf
Para criar a pasta digite o comando no terminal mkdir bkp.
2 - Configurar o arquivo samba.conf
[global] //onde são informadas as configurações gerais do samba.
workgroup = INGA.local //informar o nome do grupo ou do domínio.
server string = Samba Server security = share
log file = /var/log/samba.%m
max log size = 50
dns proxy = no
[Programas] //Nome do compartilhamento que aparecerá no windows.
comment = Programas Compartilhado
path = /bkp //Endereço compartilhado com o nome Programas.read only = no
public = yes
3 - Liberar as portas do samba no firewall Iptables.
Caso se tenha um outro firewall em sua rede, é possível parar o serviço do firewall local e o compartilhamento já irá funcionar porém, um firewall não deixa de ser uma proteção a mais para o server e por isso é sempre bom deixá-lo operando.
O samba utiliza as portas 137, 138 e 139 sndo que as portas 137 e 138 são UDP e a 139 TCP. Para liberar estas portas, pode se utilizar estas regras no iptables (lembrando que estas devem ser colocadas acima das regras REJECT.
-A INPUT -p udp --dport 137 -j ACCEPT
-A INPUT -p udp --dport 138 -j ACCEPT
-A INPUT -p tcp --dport 139 -j ACCEPT
-A INPUT -p udp --dport 138 -j ACCEPT
-A INPUT -p tcp --dport 139 -j ACCEPT
Após inserir as regras reinicie o iptables com o comando service iptables restart e pronto é só testar no windows.
Se gostou deixe um comentário, se não gostou deixe também ;-)
Valeu cara estava quebrando a cabeça seu post me deu uma luz
ResponderExcluirAbraços
O meu não funcionou. No windows fala que não tenho permissão pra acessar o diretório. Fora permissão q esta como 777, tem ideia oq pode ser
ResponderExcluirsou novo no linux, qual o caminho para fazer estas alterações? onde fica o arquivo para ser alterado?
ResponderExcluirOi, fica em /etc/sysconfig. O arquivo é o iptables.
Excluirpara erro de permissão,Inclui :
ResponderExcluirforce create mode = 777
# Solicita que o Samba force o tipo de permissão dos arquivos criados.
force directory mode = 777
# Mesmo que force create mode, mas para diretórios criados nos compartilhamentos.
Funcionou blz...parabéns
ResponderExcluir