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.