Conectando linux ao windows pelo samba
postado por nightnux - comentários
0
Confira os detalhes deste artigo em
Instalando os pacotes
Faça o download da última versão do Samba disponível no site:
* http://www.samba.org
Copie o arquivo para o diretório /tmp e depois o descompacte usando:
# tar -zxvf samba-3.0.4.tar.gz
Acesse o diretório do samba-3.0.4 que foi criado e leia a documentação, ela pode lhe dar uma idéia do que deseja fazer.
Agora acesse o diretório source e faça:
# ./configure --prefix=/usr/local/samba
(crie o diretório samba se ele não existir) # make # make install
Depois dessa fase precisaremos configurar o SWAT, que é um programa usado para configurar o Samba em modo gráfico. Acrescente a seguinte linha ao arquivo /etc/services:
swat 901/tcp # swat
Depois acrescente a seguinte linha ao arquivo /etc/inetd.conf:
swat stream tcp nowait.400 root /usr/sbin/tcpd /usr/local/samba/sbin/swat swat
Agora finalize o processo inetd:
# killall -HUP inetd
Agora vamos testar o SWAT para ver se ele está funcionando corretamente, abra o browser e digite:
http://localhost:901
Configurando o arquivo smb.conf
O smb.conf é o arquivo de configuração do Samba, este arquivo pode ser configurado pelo programa Swat ou manualmente usando um editor de textos como o vi e está localizado no diretório /etc. O arquivo é composto por seções e parâmetros. As seções descrevem recursos compartilhados (exceto a [global]) e são representadas por colchetes e os parâmetros, dentro das seções, representam os atributos dos compartilhamentos. Há três seções especiais:
* [global] - São parâmetros que serão aplicados ao servidor como um todo. * [home] - Disponibiliza o diretório /home dos usuários. * [printers] - Disponibiliza o acesso a qualquer impressora especificada e conectada à máquina local.
Esta é apenas uma configuração básica de um diretório e uma impressora como recursos compartilhados:
# vi /etc/samba/smb.conf
# Configuração do Servidor Samba # Data: 30/06/2004
# Parâmetros Globais [global] netbios name = DEBIAN workgroup = OSDORMESUJO server string = Servidor Samba security = user encrypt passwords = yes log file = /var/log/samba/samba.log
# Parâmetros Locais [arquivos] comment = Arquivos de usuários path = /home/arquivos public = no read only = yes create mode = 0740 directory mode = 0740
# Impressoras Compartilhadas [Epson] printable = yes print command = /usr/bin/lpr -P%p -r %s printer = lp printing = BSD path = /var/spool/lpd/lp
Configurando clientes Windows
Criaremos um usuário para acessar o nosso servidor Samba:
# smbpasswd -a crildo
Este comando adicionou o usuário crildo e sua senha no arquivo de senhas criptografadas.
No Windows, configure o endereço IP e o endereço da máquina que acessará o compartilhamento ou use endereçamento dinâmico:
* IP - 172.16.1.5 * Máscara de sub-rede - 255.255.0.0
Nas propriedades de TCP/IP, acesse a aba Ligações e marque as opções Cliente para redes Microsoft e Compartilhamento de Arquivos e Impressoras para Redes Microsoft. Clique que em OK.
Agora na janela Rede clique na aba Identificação e defina:
* Nome do computador - crildo * Grupo de trabalho - osdormesujo * Descrição do computador - Estação de Trabalho
Agora acesse o Painel de Controle do Windows e clique no ícone Senhas e defina uma senha para o logon do Windows. Reinicie o computador. Depois que o computador foi reiniciado, na janela Digitar a senha da rede, digite a senha que você cadastrou no Servidor Samba. Na janela Bem-vindo ao Windows digite a senha que você definiu no Windows. Dê um duplo clique no ícone Ambiente de rede, depois no ícone Toda a rede e no grupo de trabalho que você definiu. Por fim, clique no ícone que identifica o servidor, digite a senha de rede se for o primeiro login e acesse o compartilhamento.
Acessando um servidor Windows 2000 com clientes Linux
A primeira tarefa a fazer é criar o recurso compartilhado:
1. Abra o Windows Explorer e crie um novo diretório; 2. Clique com o botão direito nesse diretório; 3. Clique na opção Propriedades; 4. Clique na aba Compartilhamento; 5. Selecione a opção Compartilhe esta pasta; 6. Dê um nome ao compartilhamento e clique em OK.
Crie um usuário Linux no Windows 2000 Server para acessar o servidor:
1. Clique em Start/Programs/Administrative Tools/Active Directory Users and Computers; 2. Clique com o botão direito na pasta Users/New/User; 3. Crie um usuário.
Agora na máquina Linux com o usuário que foi criado no Win2000 listaremos os recursos disponíveis:
# smbclient -L win2kserver -U tux added interface ip=172.16.1.10 bcast=172.16.255.255 nmask=255.255.0.0 Password: Domain=[WIN2KSERVER0] OS=[Windows 5.0] Server=[Windows 2000 LAN Manager]
Sharename Type Comment --------- ---- ------- E$ Disk Default share IPC$ IPC Remote IPC NETLOGON Disk Logon server share ADMIN$ Disk Remote Admin SYSVOL Disk Logon server share C$ Disk Default share Teste Disk Compartilhamento de Teste
Server Comment --------- ------- WIN2KSERVER
Workgroup Master --------- ------- OSDORMESUJO DEBIAN
O comando smbclient é um programa cliente Linux usado para realizar quase todos os trabalhos oferecidos pelo Samba.
Para acessar o recurso compartilhado no servidor Windows 2000 Server faça:
# smbclient //win2kserver/Teste -U tux%password added interface ip=172.16.1.10 bcast=172.16.255.255 nmask=255.255.0.0 Domain=[WIN2KSERVER0] OS=[Windows 5.0] Server=[Windows 2000 LAN Manager] smb:\>
Digite "?" para ver os comandos que estão disponíveis no prompt de comando do Samba:
smb:\> ?
? altname archive blocksize cancel cd chmod chown del dir du exit get help history lcd link lowercase ls mask md mget mkdir more mput newer open print printmode prompt put pwd q queue quit rd recurse rename rm rmdir setmode symlink tar tarmode translate
Para saber o que significa um comando faça:
smb:\> ? get
HELP get: [local name] get a file
Outro comando que podemos usar é o "!", que permite executar um comando shell.
smb:\> ! ls -l
total 35 drwxr-x--- 2 root root 1024 Sep 16 2003 Default drwx------ 3 root root 1024 Jul 5 11:57 Desktop -rw-r--r-- 1 root root 488 Jun 22 11:08 GNU.txt drwxr-x--- 2 root root 1024 Sep 16 2003 Wood -rw-r--r-- 1 root root 1810 Jun 16 15:58 basic.conf
Agora vamos criar um diretório no Servidor Windows 2000 e depois copiar um arquivo local para ele:
smb:\> mkdir tux smb:\> dir
. DR 0 Mon Jul 5 20:55:47 2004 .. DR 0 Mon Jul 5 20:55:47 2004 debian D 0 Mon Jul 5 20:42:55 2004 tux D 0 Mon Jul 5 20:55:47 2004
36146 blocks of size 4096. 35505 blocks available smb:\> cd tux smb:\tux\> put ip.txt putting file ip.txt as \tux\ip.txt (5.8 kb/s) (average 1.1 kb/s) smb:\tux\> ls
. D 0 Mon Jul 5 20:57:17 2004 .. D 0 Mon Jul 5 20:57:17 2004 ip.txt A 83 Mon Jul 5 20:57:17 2004
36146 blocks of size 4096. 35505 blocks available
Para copiar vários arquivos que coincidam com um mesmo padrão podemos usar o comando mput:
smb: \tux\> mput *.conf Put file basic.conf? y putting file basic.conf as \tux\basic.conf (19.9 kb/s) (average 19.9 kb/s) Put file proftpd01.conf? y putting file proftpd01.conf as \tux\proftpd01.conf (212.6 kb/s) (average 49.2 kb/s)
Para copiar arquivos do Servidor Windows 2000 para a máquina local use os comandos get (copia arquivos) ou mget (copia todos os arquivos que coincidirem com o padrão fornecido):
smb: \tux\> get Lista.rtf getting file Lista.rtf of size 178 as Lista.rtf (17.4 kb/s) (average 17.4 kb/s)
smb: \tux\> mget *.bmp Get file ods1.bmp? y getting file ods1.bmp of size 717462 as ods1.bmp (830.1 kb/s) (average 820.6 kb/s) Get file ods2.bmp? y getting file ods2.bmp of size 1904794 as ods2.bmp (700.6 kb/s) (average 729.8 kb/s)
Como podemos perceber o smbclient é muito semelhante a um programa FTP.
Criando e restaurando backups com o smbclient
Podemos usar o smbclient para criar e recuperar backups dos arquivos compartilhados do Samba. Os backups dos arquivos são escritos no formato tar, tornando sua criação fácil e portável para todas as distribuições Linux/Unix.
Para criar um backup com o smbclient precisaremos primeiro especificar o tamanho do bloco a ser utilizado pelo comando tar, em blocos de 512 bytes.
smb: \tux\> blocksize 30 blocksize is now 30
Definimos que o tamanho do bloco será 30, ou seja, 30*512 bytes (15360 bytes). Agora definiremos o tipo de backup que será criado:
* full - Backup de todos os arquivos; * inc - Backup incremental somente dos arquivos que tiverem o tipo de arquivo (A) definido; * reset - Redefinirá todos os bits de arquivo (A) que for copiado; * noreset - Não redefinirá o bit de nenhum arquivo mesmo depois de todos terem sidos copiados; * hidden - Backup dos arquivos com atributo hidden; * quiet - Não imprime qualquer informação durante a operação; * verbose - Exibe informações detalhadas sobre a execução do programa.
smb: \tux\> tarmode full tarmode is now full, system, hidden, noreset, verbose
Há três maneiras possíveis para se criar o backup, vamos à primeira.
Na linha de comando digite:
1) Usando o comando smbclient:
# smbclient //win2kserver/Teste -U tux%password -Tc > tux_backup.tar tar: dumped 673 files and directories Total bytes written: 4655104
A opção -T significa executar o dispositivo tar e o parâmetro c significa criar o arquivo.
2) Usando o prompt do smbclient:
smb: \> tar c tux_backup.tar tar: dumped 673 files and directories Total bytes written: 4655104
3) Usando o smbtar:
# smbtar -s win2kserver -x Teste -u tux%password -t tux_backup.tar
* -s significa o nome do servidor no qual os compartilhamentos residem. * -x significa o nome do compartilhamento. * -u significa o nome do usuário que se conectará ao recurso. * -t significa o backup será gravado em uma fita ou em um arquivo.
Agora vamos restaurar o backup, vamos supor que apagaram todos os arquivos do recurso compartilhado:
1) Usando o smbclient:
# smbclient //win2kserver/Teste -U tux%tux24 -Tx tux_backup.tar tar: restored 673 files and directories
A opção -T significa executar o dispositivo tar e o x significa extrair o arquivo.
2) Usando o prompt do smbclient:
smb:\> tar x tux_backup.tar tar: restored 673 files and directories
Montando recursos compartilhados no Linux
No Linux, o sistema de arquivos smbfs pode ser usado para montar recursos compartilhados em um sistema de arquivos Linux, semelhante a montagem de partições de disco em um sistema de arquivos NFS.
Vamos montar os recursos compartilhados no servidor Windows 2000 no ponto de montagem /mnt/smb:
# smbmount //win2kserver/Teste /mnt/smb -o username=tux # ls /mnt/smb debian tux
O smbmount é o comando usado para montar recursos compartilhados do Samba, o parâmetro -o significa opções. Veja as opções que estão disponíveis para o smbmount:
* username - String - Fornece o username e opcionalmente o password e o workgroup, para a autenticação. * password - String - Fornece o password. * credentials - String - Nome do arquivo que contém o username e o password. * uid - String ou numérico - User ID aplicada a todos os arquivos e diretórios do compartilhamento montado. * gid - String ou numérico - Group ID aplicado a todos arquivos e diretórios do compartilhamento montado. * Fmask - Numérico - Permissões aplicadas para os arquivos. O padrão é baseado no umask corrente. * dmask - Numérico - Permissões aplicadas para os diretórios. O padrão é baseado no umask corrente. * debug - Numérico - Nível de depuração. * workgroup - String - Nome do workgroup do servidor remoto. * guest - Anula a requisição de password. * ro - Monta com permissão de somente leitura. * rw - Monta com permissão de leitura e escrita. * ttl - Numérico - Quantidade de tempo de cache do conteúdo dos diretórios. O padrão é 1000 ms.
Espero que, com este artigo, eu tenha ajudado um pouco na introdução ao Samba. Obrigado e VIVA O LINUX!!!
Autor: Cristian Alexandre Castaldi Data: 27/07/2004
Bibliografia
JR., Décio. Guia de Consulta Rápida Samba. São Paulo: Novatec Editora Ltda, 2000.
TS, Jay. Eckstein, Robert. Collier-Brown, David. Samba Pocket Reference, Second Edition. USA: O'Reilly Associates, 2003.
Vários Autores. Samba HOWTO Collection. USA: Disponível em www.tldp.org. Acesso em: 03 mai. 2004.
da SILVA, Gleydson Mazioli. Guia Foca GNU/Nível Avançado. Disponível em: http://focalinux.cipsga.org.br/. Acesso em: 17 mar. 2004.
|