veja neste diretorio smbmount.txt e varios outros arquivos que inica com samb???.txt vejna neste diretorio swat.txt configurar o samba via brower "www". veja também como clonar o HD, hdclone.txt, muito útil para fazer backup da instalação do seu servidor. 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 a respeito. O samba é um pacote Linux e portanto roda em maquinas Linux e você usa para compartilhamento de arquivos e impressora, em redes Linux x Windows (não importa o sentido). Você 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) você pode compartilhar um diretório (pasta) para clientes Windows, também pode 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 o basico é 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 sotwares 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. Em sistemas Linux existem várias maneiras de controlar o acesso, cada pacote tem suas particularidades para autenticar e disponibilizar arquivos ou diretórios. Podemos a partir de uma maquina disponibilizar vários servidores como de: WEB, E-MAIL NFS, TELNET e etc.. O SAMBA é somente mais um, então 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. Podemos concentrar a administração e controle de todos os usuarios e suas senhas em uma única maquina da rede usando aplicativos adequados como: NIS, LDAP, PAM como o pam_smb e outros..... A autenticação centralizada fica para um capitulo a parte, neste exemplo vamos usar na rede somente um servidor Samba e o próprio Samba para autenticar seus clientes windows e portanto vamos criar usuarios para Linux com adduser e para Samba com smbadduser, definir senhas no Linux com passwd e Samba com smbpasswd. 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 e 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. 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 dserver 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. Em server Linux posso instalar 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. Não altere o nome do servidor após a instalação, tenho tido problemas após alterar o nome do servidor, quando restarto o samba ocorre uma mensagem de falhou, volto para o nome que usei na instalação e restarto o samba e não ocorre mais erros. AMBIENTE GRÁFICO. Tem aplicativos grafico para configurar o samba, tais como Komba, SWAT, My configurator, LinNeighborhood etc.. neste texto vou trabalhar somente no modo prompt, mas relacionei no final alguns links sobre como configurar o Samba em modo gráfico. Também tem aplicativos gráfico para gerenciar e usar a rede, procure nos menu do KDE, GNOME e veja LinNeighborhoo ferramenta para montar diretórios, pesquise sobre LISA. Estou assumindo que as maquinas estão corretamente instaladas e funcionando cada uma com sua placa de rede e IP da mesma classe e pingando entre si. 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..... O SAMBA pode ser usado em uma mesma rede com NT, definir cota de disco ao usuario, centralizar a autenticação de varios servidores em um só e muitos outros serviços. Para os iniciantes recomendo implementar um serviço de cada vez, neste exemplo vamos considerar somente um servidor Linux com clientes Windows 95,98 e ME. O SAMBA compartilha discos (HD, CDROM etc) de um servidor linux para estações windows, as estações windows através do samba usa um servidor linux como se fosse um servidor NT. Também ocorre o contrario, de uma maquina linux acessar as pastas compartilhadas em maquinas windows. para os dois casos o samba tem que ser instalado em um servidor linux e nada será instalado nas estações windows. Para maquinas windows acessar um servidor linux tem que ter instalado no servidor linux o pacote Samba, para verificar se 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 é que não está instalado. para instalar procure no CD1 onde está o pacote e digite: rpm -ivh samb* claro que indicando o caminho onde está o pacote samb*, cdrom, apt ou o diretorio. ou # apt-cache search samb* # apt-get install NOME_DO_PACOTE confirmado que o samba está instalado digite: #ntsysv procure pela linha com SMB marque esta linha para iniciar o samba toda vez que ligar o servidor. OK ou pode ser feito manualmente toda vez que precisar ativar o samba para startar ou reiniciar o samba após alguma alteração, durante um backup pelo linux o samba não precisa estar rodando, então pela linha de comando ou script pode executar o stop antes de iniciar o backup e e um start quando terminar. # cds # ./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 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 #cd /etc antes de iniciar as alterações, faça uma copia do smb.conf, qualquer acidente basta fazer uma cópia de volta. # cp smb.conf smbconf.original #vi smb.conf pressione INSsert para entrar no modo alteração. Neste diretório tem uma copia do meu samba com o nome smbzago.conf para comparação ou ser copiado para seu /etc, caso faça cópia lembre de renomear para smb.conf, esta substituição também pode ser feita por partes, copiar e colar através de um editor, no fazendo alterações diretamente no original. para salvar e sair, pressione ESC depois SHIFT+: depois wq e enter, o wq tem que ser em minusculo. usuarios: no linux para criar um usuario digite: adduser nomedelogin ou /usr/sbin/adduser nomedelogin definir ou mudar senha passwd nomedelogin ou /usr/bin/passwd nomedelogin depois de criar o usuario no Linux tem que criar também para o samba, digite: smbadduser nomedelogin nomedelogin:senha ou /usr/bin/smbadduser nomedelogin nomedelogin:senha no samba após criar o ususario tem que definir uma senha, digite: smbpasswd nomedelogin ou /usr/bin/smbpasswd nomedelogin para cada compartilhamentos que for criado no smb.conf tem que ser criado o diretorio correspondente no caminho indicado, o samba não cria o diretorio ou pasta automaticamente. se no samba indicar o diretorio /home/netlogon para colocar os scripts de usuarios, este deverá ser criado manualmente, digite: # cd /home # mkdir netlogon se criar um compartilhamento para programas com nome de dbf #cd /home #mkdir dbf Os usuarios precisa ter direitos nestes compatilhamentos do samba, que o windows enxerga como uma pasta, ou uma unidade de rede se for mapeada no script, e estes direitos podem ser de ler, gravar etc.. na seção do Samba que definir o compartilhamento inclua também os direitos, colocar no script um unidade de rede que aponta para um diretório que o usuário não tenha direito ou não exista vai resultar em erro, o mesmo ocorre quando o caminho está errado, cuidado em alterar o nome do servidor, IP e etc.. veja mais sobre diretos para ajustar de acordo com sua necessidade. mantenha o mesmo nome de grupo no samba e no TCP/IP da sua placa de rede das estações windows. 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 iten 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 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 aqui está um modelo de samba que uso smb.conf # This is the main Samba configuration file. You should read the # smb.conf(5) manual page in order to understand the options listed # here. Samba has a huge number of configurable options (perhaps too # many!) most of which are not shown in this example # # Any line which starts with a ; (semi-colon) or a # (hash) # is a comment and is ignored. In this example we will use a # # for commentry and a ; for parts of the config file that you # may wish to enable # # NOTE: Whenever you modify this file you should run the command "testparm" # to check that you have not many any basic syntactic errors. # #======================= Global Settings ===================================== [global] # workgroup = NT-Domain-Name or Workgroup-Name workgroup = MYGROUP # server string is the equivalent of the NT Description field server string = Samba Server # This option is important for security. It allows you to restrict # connections to machines which are on your local network. The # following example restricts access to two C class networks and # the "loopback" interface. For more examples of the syntax see # the smb.conf man page ; hosts allow = 192.168.1. 192.168.2. 127. # if you want to automatically load your printer list rather # than setting them up individually then you'll need this printcap name = /etc/printcap load printers = yes # It should not be necessary to spell out the print system type unless # yours is non-standard. Currently supported print systems include: # bsd, sysv, plp, lprng, aix, hpux, qnx printing = bsd # Uncomment this if you want a guest account, you must add this to /etc/passwd # otherwise the user "nobody" is used ; guest account = pcguest # this tells Samba to use a separate log file for each machine # that connects log file = /var/log/samba/log.%m # Put a capping on the size of the log files (in Kb). max log size = 50 # Security mode. Most people will want user level security. See # security_level.txt for details. security = user # Use password server option only with security = server # password server = # Password Level allows matching of _n_ characters of the password for # all combinations of upper and lower case. ; password level = 8 ; username level = 8 # You may wish to use password encryption. Please read # ENCRYPTION.txt, Win95.txt and WinNT.txt in the Samba documentation. # Do not enable this option unless you have read those documents encrypt passwords = yes smb passwd file = /etc/smbpasswd # The following are needed to allow password changing from Windows to # update the Linux sytsem password also. # NOTE: Use these with 'encrypt passwords' and 'smb passwd file' above. # NOTE2: You do NOT need these to allow workstations to change only # the encrypted SMB passwords. They allow the Unix password # to be kept in sync with the SMB password. ; unix password sync = Yes ; passwd program = /usr/bin/passwd %u ; passwd chat = *New*UNIX*password* %n\n *ReType*new*UNIX*password* %n\n *passwd:*all*authentication*tokens*updated*successfully* # Unix users can map to different SMB User names ; username map = /etc/smbusers # Using the following line enables you to customise your configuration # on a per machine basis. The %m gets replaced with the netbios name # of the machine that is connecting ; include = /etc/smb.conf.%m # Most people will find that this option gives better performance. # See speed.txt and the manual pages for details socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192 # Configure Samba to use multiple interfaces # If you have multiple network interfaces then you must list them # here. See the man page for details. ; interfaces = 192.168.12.2/24 192.168.13.2/24 # Configure remote browse list synchronisation here # request announcement to, or browse list sync from: # a specific host or from / to a whole subnet (see below) ; remote browse sync = 192.168.3.25 192.168.5.255 # Cause this host to announce itself to local subnets here ; remote announce = 192.168.1.255 192.168.2.44 # Browser Control Options: # set local master to no if you don't want Samba to become a master # browser on your network. Otherwise the normal election rules apply local master = yes # OS Level determines the precedence of this server in master browser # elections. The default value should be reasonable os level = 65 # Domain Master specifies Samba to be the Domain Master Browser. This # allows Samba to collate browse lists between subnets. Don't use this # if you already have a Windows NT domain controller doing this job domain master = yes # Preferred Master causes Samba to force a local browser election on startup # and gives it a slightly higher chance of winning the election preferred master = yes # Use only if you have an NT server on your network that has been # configured at install time to be a primary domain controller. ; domain controller = # Enable this if you want Samba to be a domain logon server for # Windows95 workstations. domain logons = yes # if you enable domain logons then you may want a per-machine or # per user logon script # run a specific logon batch file per workstation (machine) ; logon script = %m.bat # run a specific logon batch file per username logon script = %U.bat # Where to store roving profiles (only for Win95 and WinNT) # %L substitutes for this servers netbios name, %U is username # You must uncomment the [Profiles] share below ; logon path = \\%L\Profiles\%U logon path = \\%L\netlogon # All NetBIOS names must be resolved to IP Addresses # 'Name Resolve Order' allows the named resolution mechanism to be specified # the default order is "host lmhosts wins bcast". "host" means use the unix # system gethostbyname() function call that will use either /etc/hosts OR # DNS or NIS depending on the settings of /etc/host.config, /etc/nsswitch.conf # and the /etc/resolv.conf file. "host" therefore is system configuration # dependant. This parameter is most often of use to prevent DNS lookups # in order to resolve NetBIOS names to IP Addresses. Use with care! # The example below excludes use of name resolution for machines that are NOT # on the local network segment # - OR - are not deliberately to be known via lmhosts or via WINS. ; name resolve order = wins lmhosts bcast # Windows Internet Name Serving Support Section: # WINS Support - Tells the NMBD component of Samba to enable it's WINS Server wins support = yes # WINS Server - Tells the NMBD components of Samba to be a WINS Client # Note: Samba can be either a WINS Server, or a WINS Client, but NOT both ; wins server = w.x.y.z # WINS Proxy - Tells Samba to answer name resolution queries on # behalf of a non WINS capable client, for this to work there must be # at least one WINS Server on the network. The default is NO. wins proxy = yes # DNS Proxy - tells Samba whether or not to try to resolve NetBIOS names # via DNS nslookups. The built-in default for versions 1.9.17 is yes, # this has been changed in version 1.9.18 to no. dns proxy = no # Case Preservation can be handy - system default is _no_ # NOTE: These can be set on a per share basis ; preserve case = no ; short preserve case = no # Default case is normally upper case for all DOS files ; default case = lower # Be very careful with case sensitivity - it can break things! ; case sensitive = no #============================ Share Definitions ============================== [homes] comment = Home Directories browseable = no writable = yes # 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 est98 # Un-comment the following to provide a specific roving profile share # the default is to use the user's home directory ;[Profiles] ; path = /home/profiles ; browseable = no ; guest ok = yes # NOTE: If you have a BSD-style print system there is no need to # specifically define each individual printer [printers] comment = All Printers path = /var/spool/samba browseable = no # Set public = yes to allow user 'guest account' to print guest ok = no writable = no printable = yes [gecon] comment = Sistema Coorporativo path = /home/public public = yes writable = yes printable = no write list = @staff force create mode = 0337 valid users = eiji zago # This one is useful for people to share files [tmp] comment = Temporary file space path = /tmp read only = no public = yes # A publicly accessible directory, but read only, except for people in # the "staff" group [public] comment = Public Stuff path = /home/samba public = yes writable = yes printable = no write list = @staff force create mode = 0337 valid users = supersoft zago admin users = supersoft zago # admin users = zago diretor # diretorio users somente leitura para todos os ususarios [users] comment = Public Stuff path = /home/users read only = yes public = yes writable = yes printable = no write list = @staff force create mode = 0333 admin users = zago # Other examples. # # A private printer, usable only by fred. Spool data will be placed in fred's # home directory. Note that fred must have write access to the spool directory, # wherever it is. ;[fredsprn] ; comment = Fred's Printer ; valid users = fred ; path = /homes/fred ; printer = freds_printer ; public = no ; writable = no ; printable = yes # A private directory, usable only by fred. Note that fred requires write # access to the directory. ;[fredsdir] ; comment = Fred's Service ; path = /usr/somewhere/private ; valid users = fred ; public = no ; writable = yes ; printable = no # a service which has a different directory for each machine that connects # this allows you to tailor configurations to incoming machines. You could # also use the %u option to tailor it by user name. # The %m gets replaced with the machine name that is connecting. [turmas] comment = PC Directories path = /home/turma/%u read only = no public = yes # A publicly accessible directory, read/write to all users. Note that all files # created in the directory by users will be owned by the default user, so # any user with access can delete any other user's files. Obviously this # directory must be writable by the default user. Another user could of course # be specified, in which case all files would be owned by that user instead. ;[public] ; path = /usr/somewhere/else/public ; public = yes ; only guest = yes ; writable = yes ; printable = no # dbf (criado pelo eiji) [dbf] path = /home/samba/dbf public = yes writable = yes printable = no force create mode = 0377 admin users = estoque # The following two entries demonstrate how to share a directory so that two # users can place files there that will be owned by the specific users. In this # setup, the directory should be writable by both users and should have the # sticky bit set on it to prevent abuse. Obviously this could be extended to # as many users as required. ;[myshare] ; comment = Mary's and Fred's stuff ; path = /usr/somewhere/shared ; valid users = mary fred ; public = no ; writable = yes ; printable = no ; create mask = 0765 [scripts] comment = area de scripts de usuarios path = /home/netlogon public = yes writable = yes printable = no write list = @staff valid users = zago eiji ********************************************************************** 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. ********************************************************************** ********************************************************************** ********************************************************************** ********************************************************************** a seguir dicas sobre samba, são partes de mensagens que copiei da linux-br e FAQ da Conectiva www.conectiva.com.br Dicas-l, e internet. uma linha >>>>********************************>>>> separa as mensagens. >>>>********************************>>>> 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 vai listar todos os arquivos que este usuario esta acessando, ou. fuser 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 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 depois pelo site da Conectiva. www.conectiva.com.br 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.br/cpub/pt/incConectiva/suporte/pr/servidores.samba.html 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. vale a pena dar uma olhada no capitulo 3 deste endereço: http://www.apliavlinux.netabc.com.br/ 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/ http://linux.brasileiro.net -> SWAT http://www.na-cp.rnp.br/~geison/dicas/Conf_Samba.htm ->swat 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 Komba2 é muito legal. http://www.linuxrapido.kit.net/rede.htm FreeBSD http://www.primeirospassos.org/sessao8_10b.html http://www.vivaolinux.com.br/perl/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