O que é Samba?, para que serve? como usar? e outras respostas...
Dicas e indicações de uso do servidor de arquivos Samba (na minha opinião e como eu uso)
Server Message Block. Este é um sistema de troca de mensagens desenvolvido pela IBM para uso no seu protocolo NetBIOS e depois aperfeiçoado pela Microsoft para uso no sistema de compartilhamento de arquivos do Windows. O SMB permite que os clientes entrem em contato com o servidor, ver quais compartilhamentos estão disponíveis, solicitar listas de diretório ou arquivos e assim por diante.
Apesar disso disso, a sigla é mais comumente usada em relação ao Samba, uma implementação do protocolo SMB, permite que máquinas Linux compartilhem e acessem arquivos em redes Microsoft, como se fossem máquinas Windows.
O nome Samba utilizado como servidor de arquivos não tem nenhuma relação com o Samba musica brasileira, é mera coincidência. Quem descobriu como usar o SMB (Server Message Block) pra comunicação entre Linux e Windows foi o Australiano Andrew Tridgell, dizem que para ele dar nome a esta descoberta, procurou no dicionario por palavras com as letras SMB, ele encontrou e adotou a palavra SaMBa sem saber o significado dela no Brasil. Não vou alongar nesta explicação, na net tem muitos sites explicando.
O samba é um pacote Linux e portanto roda em maquinas Linux, serve para compartilhamento de arquivos e impressora, em redes Linux x Windows (não importa a direção). Funciona como servidor ou cliente, pode configurar o Linux para utilizar uma impressora Windows ou compartilhar uma impressora Linux para estações Windows (servidor de impressão).
O mesmo vale para arquivos (servidor de arquivos) compartilhar um diretório (pasta) para clientes Windows, também como cliente acessar compartilhamentos do Windows usando Samba (smbmount).
O pacote Samba instalado e configurado em um micro com Linux serve para emular um servidor NT para clientes windows, para compartilhar arquivos e impressoras, lembre que o samba só atenderá pedidos de clientes windows. (para uso exclusivo entre um server linux com clientes Windows).
O uso mais comun do SAMBA é de servidor de arquivos para clientes windows, gerenciando os bancos de dados, arquivos e controlando os acessos a estes dados.
Para outros serviços em rede ou uso do linux com outros sistemas operacionais pesquise qual pacote deve ser usado, para compartilhar diretórios ou arquivos entre maquinas linux use outro serviço de rede mais apropriado para a tarefa, tais como NFS , TELNET, FTP, WWW, SSH e etc..
O SAMBA é a simulação de um Windows NT Server para clientes Windows, o MARS (pesquise mars-nwe) é uma simulação de um servidor Netware da NOVELL que aceita clientes com boot remoto usando MS-DOS ou DOSEMU e etc...
Em uma rede, servidor é o software rodando em uma maquina que atende um pedido de outra maquina rodando software cliente, como tudo é questão de software então uma maquina pode rodar vários softwares, pode rodar o software servidor e cliente e ser ao mesmo tempo servidor e cliente, ou servidores e clientes, o que importa é a capacidade da maquina processar toda a informação e compatibilidades dos sofwares, pode rodar perfeitamente o server e cliente Samba na mesma maquina.
Em sistemas Linux existem várias maneiras de controlar o acesso, cada pacote tem suas particularidades para autenticar e disponibilizar arquivos ou diretórios.
Em uma única maquina pode disponibilizar vários servidores como de: WEB, E-MAIL NFS, FTP, SAMBA e etc..
O SAMBA é somente mais um, podemos ter simultaneamente na mesma maquina ou na mesma rede outros serviços de rede ou até mesmo servidores SAMBA.
Controlar todos os usuários de todas as maquinas da rede, desde a criação até administrar senhas e permissões individualmente em vários pacotes pode se tornar uma tarefa complicada, pode eleger um servidor da rede para centralizar a administração e controle de todos os usuarios e suas senhas, existem diversas opções, NIS, LDAP, PAM como o pam_smb e outros, sobre autenticação centralizada fica para um capitulo a parte, a melhor opção para iniciantes é utilizar o próprio recurso do Samba para autenticar os clientes windows, criar usuarios para Linux com adduser e para Samba com smbadduser, definir senhas no Linux com passwd e Samba com smbpasswd, implemente os recursos por parte, facilita no entendimento e solução de problemas.
Serve como um servidor de arquivos, seja como um simples deposito de arquivos com um compartilhamento windows ou para rodar banco de dados como Firebird, MySQL, Oracle e outros.
Considere o Samba um emulador de Windows NT para estações windows da sua rede, no samba serão criados compartilhamentos, na configuração do SAMBA será especificado quais os diretorios as estações windows vão acessar como um compartilhamento NTFS, embora o sistema de arquivos do Linux seja ext2, ext3 ou outro qualquer diferente de NTFS e também o do Windows 95/98/ME seja o FAT estas maquinas vão trabalhar normalmente como se o sistema de arquivos fosse NTFS sem software adicional para acessar mas estes diretorios que também são acessiveis simultaneamente por outros sistemas de arquivos de diferentes sistemas operacionais do cliente.
Exemplificando: Um mesmo arquivo ou diretorio no server Linux pode ser usando por mais de um cliente; através de um cliente Windows que efetuou login no server samba onde pode mapear unidade de rede ou acessar pelo ambiente de rede, este mesmo arquivo ou diretório também poderá ser acessado por um cliente Windows que não efetuou login via samba mas efetuará login no linux e acessará os arquivos e diretórios por outro aplicativo tipo TELNET, FTP, Putty (SSH) e etc. Ou através de outro Linux (cliente Linux) usando NFS, SSH, também TELNET, FTP e muitas outras possibilidades.
Unidades de rede representadas por letras como F: H:, isto não existe no Linux, isto é coisa do windows que utiliza letras para dar apelido a outros locais de rede, na estação windows pode mapear pelo explorer ou pelo aplicativo "net.exe" que é executado localmente, o samba disponibiliza o script para cada estação executar no momento de login e mapear unidade de rede exatamente como fazem com servidores NT, estas unidades de rede representadas por F: nada mais são do que um apelido que windows deu para um diretório no servidor Linux sendo compartilhado pelo Samba, faça um teste na estação Widonws, clique com botão auxiliar do mouse sobre um diretório acessado no servidor samba e veja o sistema de arquivos, vai notar que é NTFS, o engraçado nisto tudo é que o win98 não sabe lidar com NTFS e nem o Linux lida muito bem, mas o samba utiliza o protocolo SMB pra trocar informações com estações windows, na verdade o sistema de arquivo em uso é o do Linux, somente o dialogo na rede está sob SMB, mas isto é outra questão, aqui está sendo emulado, tudo do tipo faz de conta, observe as mensagens no momento do login de uma estação windows, aparece a janela "efetuando logon sob dominio do NT", na estação windows não foi instalado nenhum pacote adicional para reconhecer o samba, nada de Linux, somente configurada para fazer login sob dominio do NT.
O incrível nisto tudo é a facilidade de configurar e trabalhar com Samba, manutenção, agregar outros serviços como lixeira no servidor, anti-virus, auditoria e muito mais, e ainda com estabilidade, robustez e segurança do Linux, neste caso acho o emulador (samba) muito melhor que o original (windows).
Considere também que podemos instalar no server linux programas Linux e também para outros sistemas como DOS, Windows.
Neste mesmo server ter clientes Linux, DOS e Windows.
Clientes usando o server para guardar e compartilhar seus arquivos.
Clientes que usam o server para executar os programas usando recursos de processador, memoria e disco do server isto é a execução de programas remotamente através de TELNET, SSH e etc..,
Considere SAMBA e DOSEMU serviços incompativeis, embora um programa ".exe" possa rodar nos dois os serviços são diferente um do outro.
DOSEMU emula um ambiente DOS, cria um ambiente virtual DOS rodando sob um sistema Linux para executar na própria maquina Linux um programa DOS, gerencia o lock (travamento) de registro e o arquivo é gerenciado pelo LINUX. Como o executavel DOS não roda de modo nativo no Linux precisamos do emulador para executar um programa DOS no sistema operacional Linux.
SAMBA emula um servidor NT para compartilhar arquivos e diretórios para outras maquinas da rede que rode Windows, cria uma estação netbeui no linux, mas os programas serão executados na maquina cliente usando os recursos do processador e sistema operacional deste cliente (windows), onde também serão mapeados os diretórios e gerenciado o lock (travamento) para o server.
O Samba não executa programas do windows, somente faz com que o Linux converse pelo protocolo SMB utilizado pelo Windows, guarda ou entrega os arquivos solicitados dentro das permissões do usuário, pode armazenar os executáveis no servidor como se faz em um compartilhando windows, acessar documentos e banco de dados, acessar pelo prompt do DOS como acessa um compartilhamento mapeado de outra maquina windows.
Um servidor Linux roda vários servidores tais como: servidor samba, servidor Telnet, servidor SSH, servidor apache, servidor FTP, DOSEMU, FREEDOS e muitos outros. Conisidere na sua aplicação qual o melhor server/cliente.
Muito simples, no lado servidor, basta instalar o pacote do Samba, definir no smb.conf quais os diretórios serão compartilhados, criar usuários, definir senhas, ajustar as permissões, criar o script para mapear unidades de rede no login. No lado cliente, estações windows, basta configurar para fazer login sob dominio do NT e prontinho, não precisa instalar pacotes adicionais, basta reiniciar e fazer login para acessarem o servidor, acesso pelo ambiente de rede ou pelas unidades de rede mapeadas.
Na internet tem quem diz que custa mais que windows, até agora não entendi este argumento, o pouco que entendi não dá pra comentar aqui, simplesmente ignore estes argumentos.
Praticamente todas as distribuições Linux tem o pacote do Samba no CD de instalação, basta uma linha de comando para instalar e mais alguns comandos para configurar, siga meus tutoriais, não demora 5 minutos pra fazer uma configuração, não tem limite de licenças, não tem restrições legais, fique à vontade para instalar e testar, somente assim poderá tirar suas conclusões.
A lista é longa, não dá para enumerar todas, segue algumas que acho relevantes.
Virus - as pragas que atacam windows não atacam Linux, mesmo que uma estação seja contaminada e salve os arquivos no servidor, no máximo, vai contaminar os arquivos que o usuário tem acesso para gravação, não vai contaminar o sistema operacional do servidor, nenhum arquivo do sistema Linux, não vai propagar para arquivos de outros usuários, fica restrito aos arquivos que o contaminado tenha permissão de escrita e nada mais, para remoção pode usar anti-virus que roda no Linux ou até mesmo de uma estação windows, pode até remover o arquivo pelo Linux.
Lixeira - Configure a lixeira no servidor, arquivos deletados pelos usuários serão movidos para outro diretório, fica a impressão que foram apagados mas o comando remover é substituido por mover para outro local, qualquer acidente, basta copiar de volta, mesmo que remova arquivos com mesmo nome, estes recebem um numero para diferenciar e mantém a copia de cada um, permitindo escolher qual deseja recuperar.
Acesso - Tanto pelo Linux ou windows, facilidade de automatizar processos de backup pelo Linux, mesmo que o compartilhamento se destina ao windows, estes mesmos diretórios são Linux e acessados pelo Linux como um diretório qualquer, dentro das regras de segurança Linux, o Samba disponibiliza para as estações se fazendo passar por um servidor NT, esta diferença no acesso e permissões acontece somente para as estações windows.
Administração remota - até mesmo a partir de estações windows com aplicativos via brownser, entre eles webmin, ou linha de comando com ssh, tanto a partir da rede local ou via web, tem diversas ferramentas e maneiras, tudo muito fácil e intuitivo.
Log e auditoria - Registros com informações valiosas para auditar o servidor ou auxliar na procura de solução de problemas.
Controle do tipo de arquivo que podem ou não salvar no servidor, exemplo, bloquer, impedir que usuários salve arquivos .zip, .mp3. avi e outros formatos.
Substituir o NT ou rodar na mesma rede com servidores NT, definir cota de disco ao usuario, centralizar a autenticação de varios servidores em um só e muitos outros serviços. recomendo implementar um serviço de cada vez.
Integração entre os dois sistemas operacionais.
Existem pacotes que torna possivel a integração entre Linux e Windows, pode eleger qualquer um deles como o principal da rede, somente ou um ou outro e nunca os dois simultaneamente.
Windows como cliente Samba é simples de configurar e não requer programas extras, como Servidor principal tem que usar "AD".
Linux também pode substituir o "AD", como servidor ou trabalhar como cliente de "AD", envolve o uso de outros pacotes além do Samba; como LDAP, Kerberos, AD, Winbind e outros.
Qualquer um deles trabalham muito bem como cliente do outro, por enquanto é possível mas é meio trabalhoso a configuração do Linux para centralizar login, senha, permissões e outros serviços de rede do windows, mas vai ficar muito fácil no Samba 4, já estão prometendo uma melhor interação no Samba 4.0 com LDAP, Kerberros e outros serviços, estão melhorando a interoperabilidade entre os servidores dos dois SO.
Instale sua distro preferida, algumas tem opção no instalador (perfil de instalação) pronto para instalar servidor samba, nesta opção é feita a instalação de todos os pacotes, restando somente alguns ajustes, mesmo que não tenha o perfil especifico para Samba, pode instalar o pacote posteriormente, ou até mesmo baixar e instalar.
Procure fazer por partes, ajuda entender o funcionamento, descobrir erros e encontrar soluções.
Instale a sua distro preferida, configure a rede, use IP da mesma classe usada nas estações, teste o ping com as estações.
Se o ping entre as maquinas falhar é indicio de que nada vai funcionar nesta rede, portanto resolva o problema de comunicação entre micros antes de partir para o samba, erro no ping pode ser problema com: cabos, HUB, placa de rede com driver errado ou não instalado, e etc.....
Passo a passo e detalhes na configuração, tem varios exemplos nos tutoriais, FAQ e documentação, pode seguir alguns tutoriais indicados no inicio deste documento, servem para qualquer distro, mesmo que a sua distro seja diferente, o que muda entre as distro são os comandos para instalar, o smb.conf e funcionamento do samba é o mesmo em qualquer distro, claro que tem algumas diferenças entre as versões do Samba, quanto mais mais recente, também mais melhorias e algumas modificações, afinal, o desenvolvimento do samba não é feito por uma distro, é um grupo a parte, as distribuições pegam os fontes no site do desenvolvedor e criam o pacote para incluir no CD da distro, voce pode fazer o mesmo, pena que vai dar mais trabalho, fica muito mais fácil e prático instalar o pacote da distro, em sistemas GNU/Linux voce tem esta liberdade, até de criar sua própria distro.
O restante deste ducomento está em elaboração, correção..
Verificar se o samba está instalado digite:
#rpm -qa|grep samba
ou
#smbd -V
#smbclient -h
na listagem exibir
samba-2....
samba-cliente.2....
etc...
se não aparecer nada é porque não está instalado.
# ./smb restart
ou
# /etc/rc.d/init.d/smb stop (para o samba, usuarios windows fica sem acesso)
# /etc/rc.d/init.d/smb start (inicia o serviço)
# /etc/rc.d/init.d/smb restart
Para testar se está rodando e se alguém está com arquivos abertos:
# smbstatus
o arquivo smb.conf tem todas as configurações do samba, mas precisa
ser ajustada para a sua necessidade.
tem varios meios de configurar o samba, inclusive modo gráfico, mas
aqui vamos usar o vi para alterar e configurar o smb.conf.
Pode ser mais prático e rápido copiar o smb.conf de outra maquina que
foi previamente configurada, neste caso é só substituir em /etc o
arquivo smb.conf da instalação por um já configurado, a configuração
do samba está toda neste arquivo portanto pode copiar o smb.conf que
foi configurado em outra maquina e funcionando como você quer e
substituindo o da instalação, evidente que criando os diretorios que
êle vai compartilhar, usuarios, senhas e escript de usuarios também
pode ser copiados ou criados.
depois de feita a cópia crie os diretórios nos caminhos que o smb.conf indica
e também seus usuários e senhas.
além do arquivo de configuração /etc/smb.conf tem o arquivo de usuários
cadastrados no samba em:
/etc/smbusers
e o de senhas dos usuários samba em:
/etc/smbpasswd
SCRIPT PARA MAPEAR UNIDADE DE REDE
Podemos acessar um compartilhamento de outra maquina e para facilitar
podemos definir uma unidade de rede para acessá-lo.
O Windows explorer permite fazer isto, mas fica gravado somente na
maquina local, o usuário perderá este mapeamento quando reinstalar o windows
ou efetuar login em outra maquina, tendo que refazer o mapeamento.
O samba permite definir um diretório no servidor onde ficará os scripts
para mapear as unidades de rede personalizado por login.
Este script será executado automaticamente em todo login e a partir de
qualquer máquina da rede sem precisar de configuração nas estações.
habilite no smb.conf as linhas
logon script = %U.bat
logon path = \\%L\netlogon
a linha logon script = %U.bat -> informa que o script é por usuário
a linha logon path = \\%L\netlogon -> indica o diretório onde ficará os arquivos de escript.
Neste exemplo habilite as duas linhas acima no seu /etc/smb.conf e crie o diretório
/home/netlogon
inicio script
relembrando, pelo prompt crie:
crie o usuario no linux com adduser usuario
crie senha para o usuario passwd usuario
crie o usuario no samba com smbadduser usuario
crie senha para o usuario do samba smbpasswd usuario:user123
crie o diretorio para os scripts conforme caminho no smb.conf ex: mkdir /home/netlogon
crie os diretorios compartilhados conforme smb.conf mkdir /home/diretorio
modelo de script de usuario, que é um arquivo .bat a ser executado pelo windows
Lembre que o formato de arquivos texto é diferente nos sistemas Linux e Windows,
o Windows encherga os arquivos texto do Linux como uma única linha e por isso
as várias linhas do script feito no Linux pode parecer uma só para o Windows e
causar erros.
SOLUÇÃO 1:
Quando criei o compartilhamento para os scripts
-------------
# Un-comment the following and create the netlogon directory for Domain Logons
[netlogon]
comment = Network Logon Service
path = /home/netlogon
guest ok = yes
writable = yes
share modes = no
admin users = zago
---------------
acrescentei a ultima linha "admin users = zago" assim este usuário e somente êle
pode gravar e alterar arquivos neste compartilhamento, para simplificar reinicio o
samba e depois a maquina windows, caso tudo corra bem vou efetuar login no SAMBA
e pelo ambiente de rede vou acessar este compartilhamento onde posso criar e editar os
scripts dos usuários através do bloco de notas do windows e salvando no modo texto.
Também poderá criar este arquivo pelo edit do DOS ou bloco de notas e copie para dentro
do diretorio /home/netlogon, use ssh, telnet, disquete ou ambiente de rede para
copiar o arquivo, depois de copiado este arquivo pode ser reproduzido com o cp
do Linux para outro nome de login e editado pelo "vi" ou outro editor e ser ajustado
para cada usuário.
SOLUÇÃO 2:
Através de um editor Linux crie o arquivo de script por exemplo o (vi) ou outro editor,
veja abaixo os exemplos para o arquivo zago.bat:
# unix2dos zago.bat
# chmod +rwx zago.bat
onde zago.bat é o script que você criou, unix2dos converteu o arquivo para o padrão DOS
e chmod +rwx tornou executavel.
CONTEÚDO DO ARQUIVO:
exemplo de script para usuario zago mapear a unidade de rede H: que
está no servidor CPT e aponta para a pasta DBF
nome do arquivo igual ao nome de login acrescido de .bat
zago.bat -> nome do arquivo
net use H: \\CPT\DBF -> conteúdo do arquivo
rem net time \\servidor /set /yes -> para sincronizar data e hora com o server linux
net use \\cpt /set /yes
onde:
zago.bat é o nome do arquivo criado para o usuario com login zago
H: a unidade de rede que vou usar nas estações windows, use uma letra entre F e Z
\\CPT nome do servidor linux onde está instalado o samba, para saber o nome do servidor veja no
prompt que aparece o nomedousuário@nomedamaquina por exemplo:
[root@cpt /]#
na linha acima estou procurando por "cpt"
\DBF nome do diretorio compartilhado ou pasta que foi definida no smb.conf como um
compartilhamento e também criada no caminho definido, em /home/dbf
Lembre de salvar o arquivo no diretório netlogon, pelo ambiente do rede do windows vai aparecer a
pasta netlogon onde deverá salvar o arquivo, mas quando acessar via prompt do Linux o caminho será:
/home/netlogon/zago.bat
Assim em todo login do usuário zago o samba procurará pelo arquivo /home/netlogon/zago.bat.
fim script
Com este script toda vez que o usuario zago efetuar logon na rede
vai ter uma unidade de rede H: que corresponde ao diretorio DBF no servidor.
Quanto a direitos neste compartilhamento veja sobre chmod no Linux e no
próprio compartilhamento do smb.conf use umask, force create mode, valid users, admin users etc..
do lado windows - inicio -
CONFIGURAR ESTAÇÕES WINDOWS PARA LOGAR NO SAMBA.
em ambiente de rede
aba identificação
item grupo de trabalho -> coloque o mesmo definido no samba, cuidado
que o windows vem por default WORKGROUP e o samba MYGROUP, mas os
dois tem que ser iguais, altere para qualquer nome, desde que iguais tanto no
Samba como no Windows.
em propriedades de tcp/ip da placa de rede
endereço IP
preencha o IP e a mascara, lembre de manter mesma classe de rede.
em propriedades de Clientes para Redes Microsoft
marque -> Efetuar logon no dominio do Windows NT
no campo Dominio do Windows NT, preencha com o mesmo nome usando
no samba e grupo de trabalho.
ao dar OK e fechar as janelas.
na reinicialização informe o login e e senha de usuario já
cadastrado no samba, se por algum motivo não informar o usuario e
senha ou mesmo informando não for efetuado o login no servidor, os
compartilhamentos do samba não serão vistos pelo windows, por exemplo
quando iniciar o windows cancelar o login e depois querer acessar o
compartilhaamento do linux pelo ambiente de rede do windows não
vai funcionar, use o nome de login e senha exatamente como cadastrado no
servidor.
fim win
O procedimento acima deve funcionar, mas se falhar inclua nos possiveis
problemas:
- Instalação da placa de rede
- Classe de IP
- Cabos
- HUB
- Teste se o ping funciona entre as maquinas, digite na linha de comando ou prompt
ping ipdaoutramaquina ex. ping 192.168.1.100 se falhar é sinal que as maquinas
não estão se comunicando, revise as instalações verificando: instalção e configuração
da placa de rede, problemas com o IP, cabo da rede pode estar aberto, algum item da configuração está
errado, observe que enquato o ping não funcionar a rede também não vai funcionar.
- Qaundo o ping funciona e os IP são da mesma classe o problema deve estar na configuração
do samba, senhas, nome do grupo de trabalho, caminho dos diretorios compartilhados ou algum
parametro no smb.conf.
Lado servidor Linux/samba.
LOG
USE E ABUSE DO LOG, você vai resolver muitos problemas com as
informações do log.
Para solucionar problemas um bom começo é interpretar os logs, quase
todos os serviços tem seu log.
veja no seu samba para qual diretorio êle aponta, normalmente no samba vem:
log file = /var/log/samba/log.%m
Para localizar problemas ao compartilhar recursos do Linux via samba veja os
arquivos de log que estão em: /var/log/samba/
#smbstatus
mostra as conexões ativas e alguns dados dos usuarios.
#smbstatus -u usuário
mostra o que um determinado usuário esta utilizando no samba.
veja também sobre:
nmblookup
para maquinas linux acessar compartilhamento de maquinas windows, use smbclient e smbmount.
veja neste diretorio smbmount.txt
# smbclient -L localhost
Voce verá todos no seu grupo de trabalho
acessar atraves do samba um compartilhamento do windows95,98,me
adicione a maquina digitando.
#smbclient -L defaul
troque defaul pelo verdadeiro nome da sua maquina windows que vai acessar.
para montar.
#/sbin/mount.smbfs //Defaul/email /mnt/samba -o username=zago,password=popopo
onde email é o nome do compartilhamento.
(mais detalhes veja nesta pasta smbmount.txt)
para desmontar
#umount /mnt/samba
Para limitar espaço em disco aos usuarios, use QUOTA, veja nesta
pasta quota.txt
Para centralizar as senhas dos usuarios de varios servidores em um
único servidor, use NIS, veja nesta pasta nis.txt
LOG DO S A M B A
# smbstatus
o smbstatus gera uma parte no formato:
Service uid gid pid machine
e logo em seguina relata o PID e os arquivos em uso
Usuários cadastrados no samba veja:
/etc/smbusers
/etc/smbpasswd
veja no seu samba para qual diretorio êle aponta, veja no smb.conf se tem a linha:
log file = /var/log/samba/log.%m
que indica onde será gravado o log.
# Log level (0=none, 1=normal, 2 and above not recommended for
production box)
debug level = 1
para depuração de erros pode ser interessante usar um valor acima de 2,
não deixe permante porque pode gerar arquivos grandes e degradar o desempenho.
Compartilhar impressora via servidor Samba.
Particularmente abandonei a ideia de colocar impressora no servidor,
tive muitos problemas com usuarios que não conseguiam para a impressão e
desligava o servidor e outras artes "fuçando" no servidor, nas minhas
redes uso uma maquina windows para compartilhar impressoras, assim
qualquer "arte" fica restrita à maquina que está compartilhando a
impressora, pense em restringir o acesso ao servidor, faz parte
da segurança, pense nisto.
O livro "Using Samba" da editora O'Reilly
http://www.Dicas-l.com.br/livros/usingsamba.pdf
http://samba.he.net
Para criar usuarios e senhas iguais para o linux e samba configure o samba
para sincronizar contas e passwords (pelo linuxconf) e gerencie os usuarios
pelo linuxconf que ele automaticamente adiciona o usuario e a sua senha
ao arquivo de senhas do samba.
Definir um compartilhamento para um grupo, no mesmo local que especifica
o usuario, só que antecedido por uma @, proceda como se fosse um
usuario e acrescente @ na frente, o @ indica que se trata de um grupo.
ex.: @cdrom
DIREITOS E PERMISSÕES.
Quando precisar que todos os usuarios tenha todos os direitos no
compartilhamento, acrescente nos parametros do compartilhamento a linha
create mask = 0777
Com Isto qualquer usuário faz Read Write em todos os arquivos, casos de
DBF e NTX em Clipper.
o link abaixo fala sobre backup no windows e permissões.
http://www.oreilly.com/catalog/samba/chapter/book/ch05_03.html -> em inglês.
Para descobrir quem está usando determinado arquivo use:
smbstatus -u <usuarior> vai listar todos os arquivos que este usuario
esta acessando, ou.
fuser <nome do arquivo> identificar quais usuarios estão usando
determinado arquivo, o número que retorna é o do processo de que está usando
o arquivo.
Use este numero no comando abaixo:
ps waux | grep <número>
retorna o usuário do processo que está usando o arquivo.
fontes e links:
inicie pelo site oficial (pena que em inglês)
http://www.samba.org
http://us1.samba.org/samba/docs/man/smb.conf.5.html#OPLOCKS
ou em português pelo site da Conectiva.
www.conectiva.com.br
http://www.conectiva.com.br/cpub/pt/incConectiva/suporte/pr/servidores.samba.html
http://www.conectiva.com.br/cpub/pt/incConectiva/suporte/pr/servidores.samba.cliente.html
http://www.conectiva.com/doc/livros/online/8.0/servidor/intranet.html#NW-SAMBA-VOLUME
http://www.conectiva.com/doc/livros/online/8.0/servidor/intranet.html#SAMBA
http://www.conectiva.com/doc/livros/online/8.0/servidor/intranet.html
http://www.unav.es/cti/ldap-smb/ldap-smb-2_2-howto.html
usar LDAP para autenticar usuários.
e continue com muitas materias excelentes pela internet.
http://www.linuxrapido.linuxdicas.com.br/modules.php?name=Sections&op=viewarticle&artid=6
Hoje falarei mais um pouco sobre o Samba, desta vez com ele atuando como
PDC da rede: Como validar usuário/senha, colocar um máquina com Windows XP
na rede e permitir que o usuário altere sua senha.
Usei o Red Hat 8.0 rodando o Samba 3.0 Alpha.
em português:
vale a pena dar uma olhada no capitulo 3 deste endereço:
http://www.apliavlinux.netabc.com.br/
http://brlinux.linuxsecurity.com.br/artigos/manusmb_intro.htm?redirected=1
dicas para adicionar no samba clientes windows NT, 2000 e XP em:
http://www.mandrakeuser.org/docs/connect/csamba6.html
http://www.sl-linux.hpg.ig.com.br/samba.htm
http://linux.sathi.com.br/sections.php?op=viewarticle&artid=18
http://www.oreilly.com/catalog/samba/chapter/book/index.html ->muito bom, em inglês.
http://www.Dicas-l.com.br/Treinamentos/samba
http://www.Dicas-l.com.br/livros/usingsamba.pdf
http://www.tldp.org/HOWTO/SMB-HOWTO.html em inglês.
http://www.na-cp.rnp.br/~geison/dicas/Conf_Samba.htm em português e SWAT.
http://sites.uol.com.br/icleao
http://linux.trix.net/manusmb_intro.htm
http://linux.trix.net/samba_intro.htm
http://samba.he.net
http://www.apliavlinux.netabc.com.br/
Aplicativos para configurarar o SAMBA , alguns em ambiene gráfico,
veja nete diretorio o arquivo swat.txt e os links abaixo:
Procure o LESP e o LESP-S em:
http://www.linuxview.com.br
Komba:
http://zeus.fh-brandenburg.de/~schwanz/php/komba.php3
FreeBSD
http://www.primeirospassos.org/sessao8_10b.html
http://www.vivaolinux.com.br/chpasswd.php
Este script é usado para alterar a senha de um usuário de um sistema Linux via web
mais uma solução visual, mas eu prefiro fazer pelo prompt usando ssh.
copiado de:
http://www.rnp.br/newsgen/0109/exchange2linux.shtml
2.1.2 PAM_SMB
Pam Smb[2] permite a autenticação de usuários Linux/Unix usando um
servidor SMB (WinNT/2k, Samba). A instalação é feita através de:
./configure; make; make install
Após a instalação, o arquivo pam_smb_auth.so é disponibilizado em /lib/security
e o daemon pamsmbd é colocado, por default, em /usr/local/sbin/pamsmbd ,
devendo ser iniciado no momento do boot.
A configuração do módulo pam_smb consiste de um arquivo pam_smb.conf,
que contém a indicação do nome do domínio e dos servidores que podem
efetuar a autenticação dos usuários e de um diretório /etc/pam.d, abaixo
do qual são colocados arquivos contendo as diretrizes para cada um dos
serviços cuja autenticação deva ser feita através de pam_smb. Por exemplo,
para que o login seja feito através de PAM, deve haver um arquivo com o
nome login no diretório /etc/pam.d.
Antonio Fracisco Zago
zagolinux@uol.com.br
Documentação oficial do Samba, inicie por aqui:
http://www.samba.org/samba/docs/
pense no backup, veja em:
http://rsync.samba.org/
como sincronizar dois servidores para backup, replicação dos dados.
Nas versões mais recentes tem uma lixeira para o Samba,
pesquise sobre isto, no arquivo samba1.txt tem mensagens com dicas.
14.12. Como faço para o windows mapear em unidades de rede os compartilhamentos do linux.
http://www.conectiva.com.br/cpub/pt/incConectiva/suporte/pr/servidores.samba.netlogon.html
veja também:
man smb.conf
man smbpasswd
AMBIENTE DE REDE MODO GRÁFICO.
Linux acessar compartilhamento Windows em ambiente gráfico (embiente de rede)
CL9 rodando KDE, click na casinha que fica na barra de menu para chamar
o Konqueror, troque o endereço na localização (URL) que vem mais ou menos assim:
file:/home/zago
por:
smb:/mygroup/
Neste exemplo smb:/mygroup/ troque o termo mygroup pelo nome do grupo de
trabalho da sua rede Samba/windows para visualizar em ambiente de rede todas
as maquinas que compartilham diretórios em sua rede.
OBS. testado no CL9 (upd1) com perfil de instalação " todos os perfis"
caso não funcione no seu CL9, pode ser falta de algum pacote, procure instalar
o pacote samba, não precisa ser iniciado, mas precisa dos pacotes instalados.