Comandos que requer poderes de root, no console que vai executar ou colar os comandos, torne root com su -
ou use o sudo
antes de cada comando.
No console, shell, terminal, konsole ou qual for o nome quer der para a tela preta onde possa executar a linha de comando.
Parar o samba, interrompe somente o serviço samba, os demais serviços Linux continuam rodando na maquina normalmente:
service smb stop
Iniciar o o servidor samba, quando não iniciou no boot ou parou manualmente:
service smb start
Reiniciar o Samba, recarregar alterações efetuadas no smb.conf, equivalente a reiniciar, muito útil quando fizer alterações no smb.conf, com a diferença que não precisa parar e iniciar novamente, em um tacada só recarrega as modificações efetuadas no smb.conf.
service smb reload
Quando falhar em versões mais antigas do samba, utilize; service smb restart
smbstatus
sem parametros mostra as conexões ativas e alguns dados dos usuarios, também indica se o samba está rodando ou não.
smbstatus -u usuário
mostra o que um determinado usuário esta utilizando no samba.
Configurar para iniciar o Samba junto com o boot, inicia o Samba quando liga a maquina.
chkconfig smb on
Desmarcar inicialização com o boot - não iniciar samba junto com o boot.
chkconfig smb off
chkconfig presente em algumas distro, serve para selecionar quais os serviços que devem ou não iniciar quando liga a maquina, utilize o equivalente em sua distro.
Algumas distribuições usam comandos especificos, neste tópico comandos aplicados na linha de comando e somente em instalações SUSE.
Iniciar servidor Samba
rcsmb start
Parar (interromper, derrubar) servidor Samba
rcsmb stop
Recarregar configurações do Samba - smb.conf
rcsmb reload
Criar usuários e senhas, exemplo para criar o usuário zago (Linux e Samba), precisa ser nesta ordem, primeiro criar usuário Linux para depois definir a senha no Samba, digite a senha quando solicitado, pode definir senhas diferente entre Linux e Samba.
useradd -m zago passwd zago smbpasswd -a zago
Tem opções amigáveis via Yast, pode ser executado local ou remotamente via ssh, em modo texto execute yast, em ambiente gráfico ou conectado com (ssh -X), execute yast2, ambos tem gerenciamento de usuários e senhas, veja também sobre o uso do webmin.
Executar o comando smbstatus periodicamente, pode usar script como no exemplo abaixo, o script limpa a tela e executa o comando a cada 3 segundos, caso queira intervalo de tempo maior, use sleep 2m, onde 2m atualiza a tela a cada 2 minutos, ajuste o tempo a seu modo, sem paramentos conta o tempo em segundos, com "m" conta em minutos, exemplos;
Com atualização a cada 3 segundos;
[root@faqcl10 root]# cat smbz #!/bin/sh while true; do clear smbstatus -S sleep 3 done
Com atualização a cada 2 minutos;
[root@faqcl10 root]# cat smbz #!/bin/sh while true; do clear smbstatus -S sleep 2m done
Exemplo com uso do grep para refinar a pesquisa, monitorar o numero 2021 que corresponde ao pid de um usuário no sistema.
[root@faqcl10 root]# cat smbz2 #!/bin/sh while true; do clear smbstatus | grep 2021 sleep 3 done
Passando o dado de pesquisa via variável na linha de comando, para não ficar alterando o script, utillize este script:
[root@faqcl10 root]# cat smbvar #!/bin/sh while true; do clear smbstatus | grep $1 sleep 3 done
Execute o script acima seguido da palavra de deseja procurar, exemplos:
Veja também os resultados de:
watch -d 'smbstatus | grep usuario'
watch -d 'smbstatus | grep zago'
Trabalhando com os resultados de smbstatus.
O comando smbstatus exibe resultado semelhante a:
[zago@servsamba zago]$ smbstatus Samba version 2.2.8 Service uid gid pid machine ---------------------------------------------- prosoft root prosoft 2008 rodrigos (192.168.1.53) Thu Mar 10 08:09:32 2005 vendas root vendas 2021 fatima (192.168.1.113) Thu Mar 10 08:13:56 2005 ---corta-- Locked files: Pid DenyMode Access R/W Oplock Name -------------------------------------------------------------- 2008 DENY_NONE 0x3 RDWR NONE /home/prosoft/PROSOFT0/PROEMPRE.BTR Thu Mar 10 08:45:09 2005 2021 DENY_NONE 0x3 RDWR NONE /home/spaic/SPAIC/LOCA50/BCODADOS/locuso.dbf Thu Mar 10 08:25:23 2005 -corta-
Observe que na segunda parte, cada linha inicia com um numero, no exemplo acima o 2021 é o PID do processo, na primeira parte tem uma coluna "pid", com isto dá pra identificar quem está usando determinado arquivo.
Filtrar com grep, acrescente ''| grep expressaoqueprocura'', exemplo para pegar somente os resultados do pid 2021
smbstatus | grep 2021
utilize qualquer parte do resultado do log, nome do usuário, diretório, aquivos, ip e etc.. veja outros exemplos:
smbstatus | grep 192.168.1.53 smbstatus | grep /home/prosoft smbstatus | grep fatima smbstatus | grep .dbf
O resultado deste comando pode ser longo, depende do numero de usuários e arquivos em uso.
Para rolar a tela use as teclas SHIFT+PageUp
e SHIFT+PageDown
, em ambiente gráfico ou quando acessar
por ssh via terminal (konsole) de ambiente gráfico tem a barra de rolagem.
Resultado longo que os comandos acima não alcançam o inicio da listagem ou quando queira salvar em arquivo, utilize o redirecionador ">" para desviar o resultado para arquivo, acrescente o sinal ''>'' (sinal de maior) mais o nome do arquivo, ex.:
smbstatus > sambateste.txt
Depois é só editar o arquivo e usar os recursos do editor para localizar o que quer.
Conforme a versão do samba pode haver pequenas diferenças no resultado.
file
Identificar tipo/formato de arquivo.
Saber qual o tipo de arquivo, normalmente o Windows obriga nomerar arquivos com terminação especifica, ele associa o arquivo conforme a terminação, usuários que querem esconder certos tipos de arquivos acabam renomeando arquivos para enganar o administrador, principalmente os proíbidos, o Linux não leva em conta esta nomeação, para saber o real formato do arquivo, execute file nome-do-arquivo
que retorna dizendo qual o verdadeiro formato do arquivo não levando em conta o nome e sim o conteúdo.
Use e abuse dos logs, a solução de problemas iniciam com a interpretação das mensagens registradas em arquivos de log, qualquer problema será registrado nos arquivo de log, a questão é localiza-lo e interpreta-lo, neste tópico tem somente algumas dicas.
Para solucionar problemas um bom começo é interpretar os logs, além dos logs do sistema, alguns pacotes tem seus proprios arquivos de logs, sempre consulte os logs do sistema e quando disponível, também os logs do aplicativo, segue algumas dicas espcificas sobre log do Samba.
Inicie verificando a configuração do samba, quais as diretivas e detalhes da configuração, erros no smb.conf pode eliminar linhas ou parametros, mesmo sem constar no smb.conf alguns parametros são carregados com os valores default, para alterar algum valor default, precisa editar o smb.conf e colocar a entrada com o valor desejado, testparm exibe todos os valores em uso, portanto, faça a alteração no smb.conf, recarregue o samba e volte a executar testparm para ver como ficou, procure ver o que está sendo interpretado com o comando;
testparm -v
Pode redirecionar o resultado para arquivo e acessar com seu editor preferido, exemplo para redirecionar a saida para o arquivo meuteste
testparm -v > meuteste
Ou use o grep para refinar a pesquisa, exemplo para listar somente linhas que contenha log.
testparm -v | grep log
A configuração de log normalmente fica na seção global do smb.conf, algo semelhante a estas linhas.
log file = /var/log/samba/%m.log max log size = 50 debug level = 1
Neste exemplo indicam que os arquivos de log serão gravados dentro do diretório /var/log/samba, que o nível de detalhamento do log é 1, ou seja, minimo, pode alterar para 2, 3 ou mais, tenha muito cuidado, dependendo do nivel de detalhamento escolhido, os logs podem ser tão grandes que degrada o uso do servidor, são opções indicadas para uso temporario, somente para auxiliar na solução de problemas, aumente o detalhamento somente quando precisar de mais detalhes nos logs e volte para a condição normal assim que não precisar mais de tanto detalhes..
No próprio smb.conf deve ter algum comentario semelhante a este (não recomendado 2 ou mais para uso em produção.)
# Log level (0=none, 1=normal, 2 and above not recommended for production box) debug level = 1
Na depuração de erros pode ser interessante usar um valor acima de 2, não deixe permanente porque pode gerar arquivos de log muito grande e degradar o desempenho do servidor, quando maior a opção mais informação detalhada nos logs, também mais acesso em disco e lentidão no servidor.
Localizar problemas ao compartilhar recursos do Linux via samba veja os arquivos de log que estão em: /var/log/samba/
utilize também o tail pra acompanhar os registros no log no momento que acontecem, veja algums exemplos:
tail -f /var/log/messages
Veja quais são os arquivos de log em /var/log/samba e ajuste a linha abaixo pra acompanhar o arquivo de log desejado:
tail -f /var/log/samba/log.smbd
Altere a linha de comando acima pra acompanhar outros logs do samba, veja outros arquivos de log disponiveis no diretório: /var/log/samba
Com curingas pode acompanhar no mesmo console e simultaneamente diversos arquivos de log, exemplos para abrir todos os arquivos que terminam com .log em /var/log/samba
tail -F /var/log/samba/*.log
tail -f /var/log/samba/*.log
Com filtro por usuário, IP ou outra opção registradas nos logs, use o grep como neste exemplo;
tail -f /var/log/samba/*.log | grep 192.168.1.53
Abrir também o /var/log/messages, observe que tem um espaço separando os dois endereços.
tail -f /var/log/samba/*.log /var/log/messages
tail -f /var/log/samba/*.log /var/log/messages | grep 192.168.1.53
Tendo problemas, inicie a solução com a procura de informações nos logs, seja qual for o problema, tem grande possibilidade de encontrar algum registro nos logs, pode acompanhar a partir de console remoto via ssh, até mesmo de estações windows pode fazer uma conexão com putty e deixar o tail rodando no terminal aberto pelo putty enquanto tenta ações pelo windows, este acompanhamento facilita na localização do problema, tente interpretar as mensagens no log, use partes do log na caixa de pesquisa do Google ou nas perguntas em foruns e lista de discussão.
Págigna do manual sobre log2pcap, no console, digite:
man log2pcap
Configurar estações win98 e ME para efetuar login no servidor Samba.
Configure a placa de rede, com IP fixo ou via DHCP, o que importa é a maquina conectada na rede, respondendo e alacançando outras maquinas da rede com ping ou outro aplicativo, não precisa de pacotes adicionais. O mínimo requerido é instalação default, placa de rede configurada e se comunicando com as demais maquinas.
Na estação Win98 configure em propriedades do ambiente de rede:
No Desktop da estação win98 clique com botão auxiliar em embiente de rede clique em Propriedades Na aba Configuração, selecione: Cliente para redes Microsoft clique em Propriedades marque "Efetuar logon no dominio do Windows NT preencha a caixa "Dominio do NT" com o grupo de trabalho MYGROUP OK clique na aba identificação altere o grupo para MYGROUP "Grupo de Trabalho: MYGROUP Ok até fechar as janelas e aguarde até pedir para reiniciar o computador No proximo boot na tela de login informe o usuario, senha e dominio:
Onde:
usuário -> seja um usuário cadastrado no samba
senha -> a senha deste usuário cadastrado no samba
dominio -> Neste exemplo foi utilizado como dominio MYGROUP, obrigatoriamente tem que ser também o grupo de trabalho no ambiente de rede do windows e também ser a diretiva no smb.conf no [global]:
workgroup = MYGROUP
Entendeu....., o mesmo nome nos 3 lugares tem que serem iguais, altere MYGROUP para o nome desejado, em todos os locais.
Caso não complete o login, reveja a configuração, sem login não terá acesso aos compartilhamentos do Samba, certifique que a rede está OK, verifique se o serviço do Samba está rodando, configurações do smb.conf, logs e toda a configuração....
Quando completar logim, proure em ambiente de rede pelos compartilhametnos definidos no smb.conf
Click em ambiente de rede para encontrar o servidor, click sobre ele e encontrará os compartilhametos, diretórios compartilhados, são os mesmos que estão definidos no smb.conf
Quando não listar os compartilhamentos, tem alguma coisa errada, algum caracter errado, uso de dominio diferente, falta de compartilhamentos no smb.conf, compartilhamentos sem a diretiva browseable = yes, permissões, enfim algum item da configuração está errado, algo relacionado ao smb.conf. Confira todos os passos até conseguir o resultado indicado acima, depois personalize, login script, permissões, criar outros compartilhamentos e ajustes, personalizar o servidor a seu modo
Problemas com estações win98 efetuar login no Samba?
Apague os arquivos .pwl no diretório windows.
Sempre que trocar a senha no Samba, trocar o servidor Samba ou após alterações no Samba, estações win98 falhar no login com mensagens de erro no dominio ou senha, apague o arquivo com a terminação .pwl que fica no diretório windows da estação, não precisa apagar todos, basta apagar o arquivo com o nome de login .pwl do usuário com problema.
Esta opção resolve o problema quando a estação está configurada para logar automaticamente.
Claro que deve checar as conexões de rede antes, testar com ping e ver se as maquinas se comunicam e outras configurações de rede, configurações do samba e da estação.
Acessar banco de dados e aplicações especiais.
Dependendo do sistema e aplicativo, como exemplo, rodar aplicações que requer conexão com banco de dados rodando no servidor Samba, entre eles Oracle, Firebird e outros, isto requer configurações especiais no windows, alguns requer até programas especificos, nestes casos recorra ao suporte do fornecedor do programa.
Instalar o banco de dados no Servidor Samba, veja no final deste documento a indicação de FAQ especifico sobre banco de dados.
Perfil móvel.
Por default estações da familia NT procura pelo perfil móvel, tem varios exemplos de configuração nos modelos de smb.conf e FAQ sobre win 2000, XP e 2003.
Perfil local
Depois do login no servidor samba, clique em "ambiente de rede" para acessar os compartilhamentos.
Em sistemas Linux não existe unidades de rede como no Windows, aqueles apelido que windows usa como letras mais dois pontos nomear um compartilhamento, algo como H: F:
Este recurso pode usar perfeitamente com servidores samba, as unidades de rede não são criadas no servidor, são criadas na estação, são atalhos, apelidos dado pelo windows para nomerar um compartilhamento
Muitos fazem este mapeamento pelo Windows explorer, mas fica gravado somente na maquina local, o usuário perderá este mapeamento quando reinstalar o windows ou efetuar login em outra maquina, portando refazendo sempre e ainda correndo o risco de erros.
A solução mais prática, criar um script para execução automatica no login.
O samba permite definir um diretório no servidor para scripts, arquivos em lote, do tipo .bat, neste (.bat) pode executar comandos do windows, entre eles o net use para mapear as unidades de rede, pode personalizado por login/usuário.
Este script será executado automaticamente em todo login, quando inclue comandos para mapear unidade de rede, estas serão criadas automaticamente no momento de login, sem precisar de configuração nas estações.
Todos os comandos são executados no servidor, exceto o arquivo .bat que deve ser criado em uma estação windows com bloco de notas ou edit do DOS.
Tem que definir se o script é por usuário, maquina e etc, no exemplo abaixo é por usuário (%U.bat), procure estas linhas no seu smb.conf e remova o comentário, caso não encontre, pode adicionar na seção global estas duas linhas
logon script = %U.bat logon path = \\%L\netlogon onde: logon script = %U.bat -> informa que o script é por usuário logon path = \\%L\netlogon -> indica o diretório onde ficará os arquivos de escript.
Também precisa de um compartilhamento especifico para os scripts, segue um exemplo;
# 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
Em (admin users = zago) altere o usuário zago pelo administrador no seu servidor, não confundir admin ou administrador com usuários do windows, aqui o administrador é uma referencia ao usuário com poderes total no compartilhamento, pode ser qualquer um cadastrado no Samba, no exemplo acima, zago é o admin no compartilhametno netlogon.
Observe na configuração acima, tem um compartilhamento definido no smb.conf, também a indicação em (logon path), para o exemplo acima ( logon path = \\%L\netlogon) portanto precisa criar este diretório
/home/netlogon
comando para criar este diretório; mkdir /home/netlogon
Criando e editando scripts.
Criar e modificar scripts em /home/netlogon, acesse este o compartilhamento pelo ambiente de rede, pelo bloco de notas crie os scripts dos usuários e salve no modo texto puro.
O formato do arquivo; nome igual ao do usuário mais a terminação .bat, exemplo do usuário zago, o arquivo tem nome zago.bat
conteúdo do arquivo zago.bat; net use H: \\CPT\DBF
Onde: net use = comando do windows não modifique, H: = unidade de rede, use de F: a Z:, \\CPT = nome do servidor \DBF = nome do compartilhamento definido no smb.conf.
OBS. Estes scripts (.bat) ficam no servidor em /home/netlogon, mas são executáveis do windows, portanto tem que ser criado e editado em sistemas windows e depois salvar ou copiar para este diretório, este local não é obrigatório, é somente uma forma de executar automaticamente em todo login independente da estação, também pode salvar e executar na estação cliente.
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, várias linhas do script feito no Linux pode parecer uma só para o Windows e causar erros.
Solução 1:
Com edit do DOS ou bloco de notas crie um arquivo com nome igual o de login do usuário mais a terminação .bat, copie para dentro do diretorio /home/netlogon, use ssh, winscp, telnet, disquete ou ambiente de rede, depois de fazer o primeiro, pode copiar com cp do Linux para outro nome de login e editar com "vi" ou seu editor preferido.
Solução 2: Pode ser mais complicado para iniciantes, indicada em administração remota via ssh, crie o arquivo com editor Linux, mesmo principio, nome de login do usuário mais a terminação .bat, depois converta o arquivo para DOS/WIN e torne executavel, exemplos de comando aplicados no script zago.bat.
unix2dos zago.bat chmod +rwx zago.bat
onde zago.bat é o script, unix2dos converte o arquivo para o padrão DOS/WIN e chmod +rwx torna ele executável.
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 mas a terminação .bat
zago.bat -> nome do arquivo net use H: \\CPT\DBF -> conteúdo do arquivo net time \\CPT /set /yes -> para sincronizar data e hora com o server linux
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 /]#
nesta linha 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.
Este script é executado pelo windows toda vez que o usuario zago efetuar logon na rede, automaticamente cria uma unidade de rede H: que corresponde ao diretorio DBF no servidor.
Caso ocorra algum erro ou queira ver as mensagens do login script, coloque um pause logo após a linha que deseja provocar uma parada, enter continua, troque a linha de posição, veja este exemplo:
$ cat /home/netlogon/zago.bat net use P: \\serv\publico net use S: \\serv\supersoft net use T: \\serv\tmp net use H: \\serv\cobranca pause net use F: \\serv\zago net time \\serv /set /yes
Outra solução
Conferir se o arquivo está no formato windows, fim de linha com ^M$
, execute cat -A nomedologinscript.bat
[root@servsamba netlogon]# cat -A zago.bat net use F: \\servsamba\docmodelos^M$
Qual a configuração de idioma, execute:
set | grep LANG
Conteúdo de /etc/sysconfig/i18n
cat /etc/sysconfig/i18n
Qual o idioma em uso, digite no terminal:
echo $LANG
Samba versão 3 - Criar usuários e senhas.
CL10 - Adicionar usuários no SAMBA = samba-server-3.0.4-62748cl Nesta versão do samba não tem o comando: smbadduser, precisa criar o usuário no Linux para depois adicionar a senha do Samba. Samba com versão anterior a 3.0 precisa criar usuários com: smbadduser, na versão 3 em diante não tem este comando, precisa somente definir a senha com: smbpasswd -a <usuario>, em seguida pede a senha duas vezes.
Criar usuários e senhas, exemplo para criar o usuário zago (Linux e Samba), precisa ser nesta ordem, primeiro criar usuário Linux para depois definir a senha no Samba, digite a senha quando solicitado, pode definir senhas diferente entre Linux e Samba.
adduser zago passwd zago smbpasswd -a zago
Ou no lugar de: smbpasswd -a zago, use:
pdbedit -a -u zago
Em tutoriais Samba quando usar no CL10
e encontrar esta indicação:
smbadduser usuário:apelido
simplesmente ignore, não existe este comando no CL10, para adicionar usuários no Samba versão 3 em diante, basta executar:
smbpasswd -a usuario
primeiro adicione o usuário no Linux com adduser <usuário> e depois adicione no samba com o comando:
smbpasswd -a usuario
Veja também sobre pdbedit, no Samba 3 tem o pdbedit pra adicionar usuários.
Pesquise e veja os resultados de:
pdbedit -a -u usuario
Veja outras opções nas páginas do manual.
pdbedit --help man pdbedit
Remover usuário:
Pra remover usuário do Samba, de acordo com a versão o comando pode ser diferente no CL10 com Samba 3.0.4, na página do manual indica -x:
man smbpasswd -x This option specifies that the username following should be deleted from the local smbpasswd file.
smbpasswd -x usuario
Resultado dos comandos para criar e remover usuário popoteste:
[root@servsamba samba]# adduser popoteste [root@servsamba samba]# passwd popoteste Changing password for user popoteste. New password: Retype new password: passwd: all authentication tokens updated successfully. [root@servsamba samba]# smbpasswd -a popoteste New SMB password: Retype new SMB password: Added user popoteste. [root@servsamba samba]# cat /etc/samba/smbpasswd zago:500:297C9EDCA556978CE2000DE7B1D8469C:50C8CC1054D585D07726971812BB2343:[U ]:LCT-410BF57E: --corta-- popoteste:504:66CC3ABAD726FA9CAAD3B435B51404EE:23D4E7E4D1C51503128474E68567D582:[U ]:LCT-4265A34D: [root@servsamba samba]# smbpasswd -x popoteste Deleted user popoteste.
O usuário popoteste não aparece mais no /etc/samba/smbpasswd
CL 10 acentos e caracteres especiais no nome de arquivos
Criar um compartilhamento com tudo liberado pra todos.
editar o /etc/samba/smb.conf e incluir no smb.conf:
[supersoft] comment = sistemas path = /home/supersoft public = yes writable = yes printable = no write list = @staff force create mode = 0777 force directory mode = 0777 create mask = 0777 directory mask = 0777
criar o diretório:
mkdir /home/supersoft
chmod -R 777 /home/supersoft
na estação win, crie arquivos e diretórios e veja as permissões destes arquivos com ls -la:
[root@serv root]# ls -la /home/supersoft/ total 20 drwxrwxrwx 4 root root 4096 2004-09-15 11:37 . drwxr-xr-x 6 root root 4096 2004-09-15 11:30 .. drwx------ 2 zago zago 4096 2004-09-15 11:37 .recycle drwxrwxrwx 2 zago zago 4096 2004-09-15 11:33 Nova pasta -rwxrwxrwx 1 zago zago 6 2004-09-15 11:24 ação.txt
o arquivo ação não foi criado com nome igual indicado na estação win98, acrescente no smb.conf estas configurações:
Tentativas de erro e acerto, depois de muitas tentativas, passei a utilizar esta configuração:
[root@serv root]# cat /etc/sysconfig/i18n LANG=pt_BR.iso8859-1 SYSFONT=lat1u-16 SYSTERM=linux LC_COLLATE=POSIX
no /etc/smb.conf
unix charset = iso8859-1 display charset = cp850
Com esta configuração, arquivo como ação é visualizado corretamente tanto no Linux como windows independente de qual sistema foi criado.
Arquivo de senhas do Samba
/etc/samba/smbpasswd
Este arquivo é criado automaticamente na criação do primeiro usuário, veja o resultado na criação do primeiro usuário Samba:
Resultado no CL10, mover o arquivo de senhas e criar usuários novamente, veja os resultados abaixo:
14:51:22 root@sambacl10 [/root # cd /etc/samba 14:51:24 root@sambacl10 [/etc/samba # ls lmhosts smb.conf smbusers 14:52:03 root@sambacl10 [/etc/samba # smbpasswd -a zago New SMB password: Retype new SMB password: startsmbfilepwent_internal: file /etc/samba/smbpasswd did not exist. File successfully created. Added user zago. 14:52:24 root@sambacl10 [/etc/samba # ls lmhosts secrets.tdb smb.conf smbpasswd smbusers 14:52:27 root@sambacl10[/etc/samba # mv smbpasswd teste 14:52:40 root@sambacl10 [/etc/samba # smbpasswd -a zago New SMB password: Retype new SMB password: startsmbfilepwent_internal: file /etc/samba/smbpasswd did not exist. File successfully created. Added user zago. 14:52:47 root@sambacl10 [/etc/samba #
Neste teste fiz com o samba parado.
Tendo problemas com senhas ou arquivos de senhas do Samba, mensagens no log do samba indicando falha no acesso ao arquivo de senhas, verique se o caminho indicado no smb.conf está correto, para recriar o arquivo de senhas, pare o samba, remomeie o arquivo de senhas depois crie um usuário pra ver se retorna resultados iguais aos regirstrados acima, quem tem muitos usuários deve pesquisar outras soluções.
As linhas que iniciam com # são comentarios, podem ser removidas sem problema algum, podem ajudar ou atrapalhar, caso queira remove-las, execute:
egrep -v "^#|^$" /etc/samba/smb.conf > /tmp/limpo-smb.conf
Como medida de segurança, no exemplo acima, não afeta o arquivo original, salva uma copia limpa em /tmp/limpo-smb.conf
Comparar dois smb.conf e salvar as diferenças entre eles em /tmp/smbdif (altere o caminho e nome dos arquivos)
egrep -v "^#|^$" /etc/samba/smb.conf > /tmp/smb1 egrep -v "^#|^$" /etc/samba/smb.confori > /tmp/smb2 diff -y --suppress-common-lines /tmp/smb1 /tmp/smb2 | tr -d '\011' > /tmp/smbdif less -Nis /tmp/smbdif
Não altere o nome do servidor após a instalação, ou faça corretamente, altere em todos os locais, nas configurações da placa de rede /etc/hosts, /etc/resolv.conf e onde mais constar o nome da maquina, quando altera somente em um local, ao reiniciar o samba ocorre uma mensagem de falhou, ao desfazer as alterações, voltar para o nome usado na instalação e reiniciando samba não deverá ocorreer mais erros, então já sabe, se alterar e ocorrer erros, então desfaça ou faça de maneira correta.
Considere criar um ambiente para testar configurações, não adianta reclamar que não tem "verba", não custa nada, o pouco tempo que investir agora vai lhe poupar muito mais no futuro além de evitar muitos problemas, considere um bom investimento de tempo, pode instalar diversos Samba pela rede sem problema algum, veja estas dicas.
A maneira mais segura, utilize duas maquinas da rede, nos momentos de testes use um cabo cross over ligando as duas maquinas, procure usar IP de outra clase de rede e nomes diferentes, assim não tem perigo de interferir em outros serviços, nestas maquinas tem a liberdade de testar tudo antes de fazer promessas, o mais importante, sem gastos e tudo legalmente, faça instalação dual-boot, assim quando terminar os testes, reinicie a maquina e selecione a opção de boot normal, volte os cabos da rede normal e tudo fica como antes, já entendeu!, nestas maquinas ficam duas instalações, uma para o trabalho normal e outra de testes para usar com cabo cross....
Utilize estações da rede para instalar dual-boot, siga estas dicas.
Nesta estação (instalação) de testes, vai utilizar somente parte do espaço do HD e nada mais.
Com o Samba configurado na maquina de testes (clone do principal), utilize qualquer estação da rede, considere utilizar uma instalação do windows especial para estação deste novo servidor, pode ser em um HD especial ou dual-boot com mais de uma instalação do windows na mesma maquina, onde uma continua configurada para o servidor principal e outra destinada aos testes.
Utilize um cabo crossover ou de outra forma tente isolar fisicamente esta rede teste.
Prontinho, tem tudo que precisa para testar configuração , diretivas do Samba e muito mais, quando concluir a configuração, basta repetir o processo no principal, ou simplificando, copiar os arquivos de configuração.
Considere manter esta instalação como backup do servidor, em casos de emergencia, nunca se sabe quando vai ocorrer acidentes, queimar a maquina, HD ou uma pane qualquer no servidor, nestas situações basta alterar o IP e ajustar o dominio que as estações nem ficam sabendo da troca, ou melhor, só precisam reiniciar as estações, em menos de um minuto se faz a troca do IP e sobe o backup do servidor Samba, o maior problema é restaurar os dados, sobre backup e restore voce já sabe como lidar, considere usar esta maquina na rede sem iniciar o samba e com IP diferente, mantenha o backup atualizado nela também.
Outras opções e indicações.
Outra opção é usar 2 HD pra testes, mas isto envolve abrir maquina, trocar cabos e outras complicações, prefiro esta opção...
Pra quem tem disponibilidade pra testes fora do horario de trabalho normal da empresa, quem pode parar o servidor pra testes e outras condições que pode usar o servidor com outro HD ou dual-boot no servidor, pra isto faça duas instalações do Linux no servidor, o boot normal destinado a servidor de produção e a segunda instalação destinada aos testes, nesta pode usar um espaço menor, pode até clonar a instalação.
Fazer testes, atualização, upgrade, modificações na configuração e experiencias, basta fazer boot pela instalação de testes quando tiver exito, aplique na instalação de produção. A parte mais importante, nesta forma de teste não compromete o servidor, evite altereações no hardware, assim ao reiniciar pelo boot do servidor tudo fica como se nada aconteceu no servidor.
Outra opção interessante, instale um segundo HD nesta maquina e quando for fazer os testes, entre no SETUP e altere a sequencia de boot, em muitas maquinas isto funciona perfeitamente, tem BIOS que permite selecionar o boot pela primeira ou segunda IDE, o mesmo vale pra HD IDE com HD SATA ou SCSI na mesma maquina, procure conhecer os detalhes do SETUP da tua maquina, maquinas novas normalmente permite usar mais de um tipo de HD e selecionar por qual delas quer o boot. Faça também dual boot neste segundo HD. Considere manter neste segundo HD um clone do servidor, aproveite e faça um backup periodico nele também, pode até automatizar pra atualizar diariamente, em situação de emergencia pode usa-lo como servidor em substituição ao HD principal, principalmente em casos de crash...
Não confundir instalar Linux no segundo HD com inverter a ordem de boot no SETUP, são coisas diferentes e com resultados totalmente diferentes. Fazendo instalações em dois HD sem alterar a ordem no SETUP, pode ter problema quando ficar somente um HD na maquina, nos casos de queima ou remoção da primeira. Alterando a ordem de boot no SETUP o HD trabalha como sendo a primeira, por exemplo, um HD conectado como master na segunda IDE, em condições normais será /dev/hdc, mas alterando no SETUP pra fazer boot pela segunda IDE, o device será /dev/hda e não /dev/hdc, a configuração desta HD em /etc/fstab será como /dev/hda, pode até remover o HD da primeira IDE e trocar o cabo da segunda HD pra conectar na primeira IDE que continua funcionando sem precisar de ajustes no /etc/fstab, grub e etc...
Estações Windows com qualquer comportamento estranho, resultado inesperado, qualquer falha ou erro, considere normal e dentro do esperado, não perca tempo com recuperação, faça uma nova instalação, sempre tente trabalhar com uma instalação zerada, em ambiente de testes procure usar uma instalação sem anti-virus, firewall, atualizações e programas adicionais, sem criar usuário local, personalização e outras frescuras. Nesta instalação, vá direto para configuração de fazer login no Samba, este é caminho mais curto para encontrar a solução, após resolver o problema de acesso ao Samba, termine a configuração a seu modo....
Nada melhor do que testar para comprovar e tirar suas conclusões......
Não confie cegamente em tutoriais ou opiniões de outras pessoas....
Pratique antes, evite vexame em clientes ou situações desagradaveis...
Incie estes testes em uma maquina de testes, nunca faça testes em instalações criticas, servidores, ou onde tenha informações valiosas...
Use ferramentas como VNC, SSH, FreeNX, Putty e outras, não fique pulando pra lá e pra cá, indo de maquina em maquina, a partir do ambiente gráfico da maquina Linux, abra um console para acompanhar os logs e acesse o VCN da estação windows para simular o uso. A partir da estação windows faça conexão via FreeNX ou Putty para abrir o console e acompanhar os resultados do que acontece com os acessos pela estação windows.
Documenção em português - Endereços recomendados, tutoriais, dicas e outros docomentos.
Antes de usar estas ferramentas faça uma copia do smb.conf, podem modificar o teu smb.conf e o resultado pode não ser o esperado, a copia serve para voltar a configuração anterior.
Cada distribuição tem seu configurador do sistema, dependendo do ambiente gráfico tem ferramentas que auliam na configuração, uma ferrramenta indicada para diversos serviços, incluindo o Samba e também comum na maioria das distros é webmin.
O acesso é pelo browser, pode ser na propria maquina ou da maquina remota na rede interna ou da web, webmin tem seu próprio servidor web, portanto não depende do Apache nem de ambiente gráfico instalado.
Vale a pena conhece-lo, pode acessar com qualquer brownser, até com IE, é simples de usar, configura diversos servidores e serviços, entre eles, swat configurador do samba, modulos pra configurar samba, usuários, compartilhamentos, impressoras, logs, transferir arquivos, selecionar opções de configuração, editar scripts e arquivos de configuração, na opção Outros -> "Gerenciador de Arquivos", permite estações windows via brownser navegar e manipular arquivos em maquinas Linux.
Procure instalar e manter versão recente do webmin que tem diversos modulos relacionados ao Samba, acesse webmin - na aba "servidores" procure pelo icone "Compartilhamento de Arquivos com Windows (Samba)", veja também outros modulos relacionados a log e configurações do sistema em geral....
man samba
Em cada página tem indicações de outras páginas, consulte todas, basta digitar man mais o nome indicado, exemplo.
man smbd
man 8 smbd
Ambiente de rede - Linux acessando compartilhamentos Windows...
KDE acima da versão 3.2 tem um icone no desktop para localizar compartilhamentos windows pela rede, ele acha também o servidor Samba, pode ser uma opção pra estações Linux acessarem os mesmos diretórios compartilhados pra estações Windows, na falta deste atalho pode usar o konqueror.
Conheça também o smb4k, Download, documentação e etc. http://smb4k.berlios.de/
Screenshot http://smb4k.berlios.de/screenshots.html
Linux cliente de terminais servers (terminal service).
Existem diversos serviços de rede que permite a conexão entre os dois sistemas, além da estação windows efetuar login no Servidor Linux (Samba) também pode efetuar outros tipos de conexão direta para comandos, executar programas ou transferencia de arquivos, segue algumas indicações.
Windows como cliente Linux - Na internet encontra muitos clientes windows que utilizam o protocolo ssh, muitos em ambiente gráfico, alguns utilizam o protocolo ssh, como exemplo winscp e nx, sempre que for requerido o uso do ssh, precisa instalar, configurar e iniciar no Linux o servidor ssh, veja diretório exclusivo sobre ele em.
FTP - para transferencia de arquivos, também funciona nas duas direções, veja FAQ sobre ftp em http://www.zago.eti.br/ftp.txt
Impressoras compartilhadas.
Backup - veja indicações e FAQ em http://www.zago.eti.br/backup.txt
VPN - interligar redes - http://www.zago.eti.br/vpn.txt
webmin tem modulo para backup, gravar CD e outros recursos...
Acesse webmin via bronser, Firefox, I.E. ou outro navegador.
Webmin no Mandriva 2006 - na aba "sistema" procure pelo icone "CD Backup" tem opção para navegar pelos diretórios e selecionar o que deseja fazer backup, criar a imagem ISO e gravar o CD, basta colocar o CD ou DVD na unidade e comandar, pode comandar a partir do Internet Explorer de estações windows.