Linux Caixa Mágica

Documentos Técnicos CM


Configurar a partilha de directorias Windows / Linux Caixa Mágica


Date:

Pages:

Issue:

State:

Access:

Reference:

01612/2003

16

Instalar e Configurar

Final

Público

CM2003-2001







Approved Version: RR

Name

Function

Signature

Date

Paulo Trezentos

Coordenador


16-12-03






Authors and Contributors:

Name

Contact

Description

Date

Susana Nunes

Susana.Nunes@caixamagica.pt

Autora

01-12-03

Paulo Trezentos

Paulo.Trezentos@caixamagica.pt

Revisor

16-12-03






Access List:

Internal Access

ADETTI

External Access

Público



Revision History:

Version

Date

Description

Author










































Índice

[AD 1]Sobre o documento iii

[AD 2]Configuração de um servidor Samba em Linux: iv

[AD 2.1] Instalação de pacotes iv

[AD 2.2] Configuração com ferramenta gráfica vii

[AD 3]Partilhar uma directoria de Linux com o Windows XP viii

[AD 4]Partilhar uma directoria do Windows XP com o Linux x

[AD 4.1]Partilhar uma directoria no Windows XP x

[AD 4.2]Aceder à directoria partilhada do Windows XP x

[AD 5] Partilhar uma directoria do Linux com outra máquina Linux xiv

[AD 6]Mais informações xv

[AD 6.1]Na internet: xv

[AD 6.2]Na linha de comandos: xv






[AD 1]Sobre o documento

O presente documento foi escrito por Susana Nunes (Susana.Nunes@caixamagica.pt) da ADETTI / Caixa Mágica.

As configurações e programas apresentados referem-se à distribuição de Linux Caixa Mágica 8.1 mas poderão eventualmente ser aplicáveis a outras distribuições.

A distribuição, alteração e cópia deste documento é permitida e incentivada no âmbito da licença GPL sob a qual o mesmo se encontra.


[AD 2]Configuração de um servidor Samba em Linux:


Se pretender que:


Então terá de instalar e configurar um servidor de Samba.


[AD 2.1] Instalação de pacotes


Antes de iniciar a configuração, deve verificar se tem os pacotes instalados no seu computador. Para tal, escreva o seguinte comando numa consola:

CaixaMagica~# rpm -qa | grep samba


Se não tiver nada instalado, faça o download a partir do site ftp.caixamagica.pt dos pacotes:


samba-client-2.2.7a-72.rpm

samba-2.2.7a-72.rpm


Se tiver o CD Caixa Mágica Servidor 8.1 (Linux @ PME) , poderá encontrar os pacotes em RPMS/rede/.


De seguida, instale-os com os seguintes comandos:

CaixaMagica~# rpm -Uvvh samba-cliente-2.2.7a-72.rpm

CaixaMagica~# rpm -Uvvh samba-2.2.7a-72.rpm


Em alternativa, se estiver ligado em rede pode instalar directamente sem download prévio:

CaixaMagica~# rpm -Uvvh ftp://ftp.caixamagica.pt/8.1/rpms/rede/samba-client-2.2.7a-72.i386.rpm

CaixaMagica~# rpm -Uvvh ftp://ftp.caixamagica.pt/8.1/rpms/rede/samba-client-2.2.7a-72.i386.rpm

(tudo na mesma linha)


A.2) Configuração em modo de texto


Após a instalação dos pacotes, passemos à configuração do servidor Samba, seguindo os seguintes passos:


  1. Edite o ficheiro de configuração smb.conf que se encontra em /etc/samba, e escreva o seguinte exemplo:


1

[global]

2

workgroup = caixamagica

3

netbios name = servidorcm

4

server string = “Servidor Samba CM”

5

security = share

6

hosts deny = ALL

7

hosts allow = 127.0.0.1 10.10.96.0/24

8


9

[temp]

10

comment = “Directoria partilhada”

11

path = /tmp

12

read only = no

13

guest ok = yes



As linhas 1 e 9 indicam as secções do ficheiro (os nomes das secções colocam-se entre parêntesis rectos “[]”). A primeira secção é pré-definida pelo Samba, e contém todos os parâmetros que se aplicam ao servidor, ou seja, que têm significado (valor) global. A secção “temp” é definida pelo utilizador e poderá ter qualquer outro nome (neste caso diz respeito a uma área temporária para partilha de ficheiros).


Da linha 2 à linha 4 encontramos informação relativa ao servidor. O parâmetro “workgroup” indica o nome do grupo a que devem pertencer as máquinas que se quer partilhar, enquanto que “netbios name” contém o nome que identificará o servidor nas outras máquinas do grupo. O parâmetro “server string” contém apenas uma descrição do servidor.


Na linha 5 indicamos qual o nível de segurança utilizado no servidor. Neste exemplo, o username é enviado automaticamente pela máquina cliente e verificado no servidor de cada vez que se tenta comunicar com este. Caso se pretenda segurança ao nível do utilizador, em que um username e uma password são pedidos, pode-se substituir esta linha por:


security = user

encrypt passwords = yes


Por defeito, o Samba aceita ligações de qualquer máquina, o que torna o servidor bastante vulnerável. Uma solução é a indicada nas linhas 6 e 7, isto é, definir os parâmetros “hosts deny” e “hosts allow”. No exemplo estamos a negar o acesso de qualquer máquina com o “hosts deny” e de seguida permitimos com o “hosts allow” o acesso do localhost e de máquinas pertencentes à rede 10.10.96.0. Atenção que os endereços aqui inseridos devem ser separados por espaços.


Também se pode restringir o acesso ao nível do utilizador utilizando o parâmetro “valid users”:


valid users = root, sicns


Se utilizar as linhas indicadas acima para a segurança ao nível do utilizador, deve definir este parâmetro na directoria a partilhar.


Em relação à definição da directoria partilhada, a linha 10 contém uma descrição desta secção e a linha 11 indica qual o caminho para a directoria partilhada (certifique-se de que esta directoria existe no sistema).


Com o parâmetro “read only” na linha 12 estamos a dizer que os utilizadores poderão ler e escrever na directoria partilhada, e não apenas ler.


Por último, na linha 13 indicamos que os utilizadores não inseridos no sistema podem aceder como convidados a esta directoria.


Se, à partida, não existir nenhum utilizador inserido no servidor, pode-se utilizar as seguintes linhas de modo a dizer que todos os utilizadores serão considerados convidados:



Para permitir que todos os utilizadores tenham as mesmas permissões dentro da directoria partilhada, pode-se “forçar” a alteração das permissões de ficheiros e directorias dentro desta do seguinte modo:


force create mode = 0660

force directory mode = 0770


Assim, todos os ficheiros criados na área partilhada terão permissão de leitura e escrita para o dono e para o grupo e nenhuma para os outros utilizadores, e todas as directorias terão todas as permissões para o dono e para o grupo e nenhuma para os outros utilizadores.


Após efectuar as alterações ao ficheiro de configuração, guarde-o e feche-o.



  1. De seguida, é necessário testar se o ficheiro smb.conf contém alguma erro com o seguinte

    comando (indique o caminho completo para o ficheiro):


CaixaMagica~# testparm /etc/samba/smb.conf


Se o ficheiro não tiver erros, verá na consola mensagem abaixo:


Load smb config files from /etc/samba/smb.conf

Processing section "[temp]"

Loaded services file OK.

Press enter to see a dump of your service definitions


Ao carregar em “enter” verá a configuração completa do seu ficheiro smb.conf.


  1. Para terminar, é preciso pôr o servidor Samba a correr inicializando os seguintes serviços

    na consola:


CaixaMagica~# /etc/init.d/smb start

CaixaMagica~# /etc/init.d/nmb start


De cada vez que fizer alguma alteração ao ficheiro smb.conf, verifique se contém erros com o comando indicado acima e reinicie os serviços:


CaixaMagica~# /etc/init.d/smb restart

CaixaMagica~# /etc/init.d/nmb restart


Se quiser que o Samba seja inicializado de cada vez que liga o computador, utilize o xLucas (configurador do Linux Caixa Mágica) para activar o serviço samba.



[AD 2.2] Configuração com ferramenta gráfica


Se preferir utilizar uma ferramenta gráfica para a configuração, então tem ao seu dispor uma ferramenta web chamada SWAT (Samba Web Administration Tool).


Para a utilizar siga os seguintes passos:


  1. Verifique se tem instalado o pacote de inetd:

CaixaMagica~# rpm -qa | grep inetd


Se não, fazer o download a partir do site ftp.caixamagica.pt e instalar com o seguinte comando:


CaixaMagica~# rpm -Uvvh inetd-2.0-84.i386.rpm


  1. Edite o ficheiro de configuração /etc/inetd.conf e descomente a linha correspondente ao serviço swat:


swat stream tcp nowait.400 root /usr/sbin/swat swat


  1. Inicie o serviço inetd:


  1. No browser (Mozilla ou Konqueror) escreva http://localhost:901/ e terá acesso ao interface

    de configuração.




[AD 3]Partilhar uma directoria de Linux com o Windows XP


Para se poder aceder a uma directoria em Linux é necessário configurar o Windows XP previamente. Assim, é necessário:


  1. Alterar o grupo a que pertence a máquina cliente (neste caso, o Windows XP):

    1.1) Carregue com o botão direito do rato em cima do ícone “My computer” e seleccione “Properties”.


    1.2) Seleccione “Computer Name” no topo da janela, de seguida carregue no botão “Change...”.

    1.3) Altere o nome do grupo (no fundo da janela) para o que inseriu no ficheiro de configuração smb.conf (ver A.2) e carregue em “Ok”. Após este passo, será mostrada uma mensagem ao utilizador para reiniciar o seu computador de modo a que as alterações tenham efeito.


  1. Verifique se o seu computador tem a firewall activada, pois se estiver não será permitida a utilização das portas SMB:

    2.1) Entre em “My Network Places” e, do lado esquerdo da janela, carregue em “View network connections”.

    2.2) Carregue com botão direito do rato no ícone da sua ligação internet e seleccione “Properties”.

    2.3) Seleccione a opção “Advanced” no topo da janela e desseleccione a opção que se encontra dentro de “Internet Connection Firewall”.


  1. Voltando à janela “My Network Places”, carregue em “View workgroup computers” e aparecerão todas as máquinas do grupo, incluindo a máquina Linux com a sua directoria partilhada.

  2. Para visualizar o conteúdo da directoria partilhada carregue no ícone correpondente à máquina Linux e, de seguida, na directoria por esta partilhada.



O utilizador pode também adicionar um ícone dentro da janela “My Computer”, podendo fazê-lo de duas formas:


    1. Através de uma linha de comandos (Start -> Programs -> Accessories -> Command Prompt), escreva o seguinte comando:

        C:\> net use t: \\caixamagica\tmp


      Para fazer este mapeamento utilize uma letra que seja pouco ou nada utilizada, e insira o nome da máquina que pretende aceder e o serviço que define a directoria partilhada. Depois pode aceder normalmente como se se tratasse de um outro disco ou uma drive de cd-rom.

      Se quiser apagar um mapeamento especifico (por exemplo, o que foi criado acima) faça:

        C:\> net use t: /delete /yes


Se quiser apagar todos os mapeamentos feitos até um dado momento faça:


C:\> net use * /delete /yes


    1. Carregue com o botão direito em “My Computer” e seleccione “Map Network Drive...”. Na janela seleccione uma letra para fazer a atribuição e insira o caminho para a directoria partilhada. Se não souber qual, carregue em “Browse...”, seleccione o grupo a que pertence a máquina a que pretende aceder, depois a máquina e por último a directoria partilhada, e carregue em “Ok”. Para terminar, carregue em “Finish”.

      Se quiser apagar este mapeamento, carregue de novo com o botão direito em “My Computer ” e seleccione “Disconnect Network Drive...”. Na janela escolha a drive que pretende apagar e carregue em “Ok”.



[AD 4]Partilhar uma directoria do Windows XP com o Linux


[AD 4.1]Partilhar uma directoria no Windows XP

      Para partilhar uma directoria no Windows XP é preciso indicar ao sistema que a directoria será partilhada:


    1. Carregue com o botão direito do rato em cima da directoria que pretende partilhar e seleccione “Sharing and Security...”.

    2. Em “Sharing”, na parte “Network sharing and security”, seleccione “Share this folder on the network”. Se quiser permitir que outros utilizadores alterem os seus ficheiros, seleccione também “Allow network users to change my files”.


[AD 4.2]Aceder à directoria partilhada do Windows XP


Se a máquina Linux não for o servidor de Samba, apenas é necessário ter instalado os pacotes indicados em A.1), não é necessário inicializar os serviços pois apenas será necessário o comando “smbclient” e o sistema de ficheiros do samba “smbfs”.


No entanto, certifique-se de que:




Para aceder à directoria partilhada pelo Windows XP pode fazê-lo de uma das seguintes maneiras:


  1. Em modo de texto, utilizando os comandos do Samba:

    Execute o comando abaixo numa consola, em que “windows1” é o nome da máquina que se pretende aceder e “temp” é a directoria partilhada por esta:

    CaixaMagica~# /var/lib/samba/bin/smbclient //windows1/temp


Ao executar este comando é pedida uma password, como pode ver abaixo. Uma vez que no nosso exemplo não definimos nenhuma, carregue na tecla “enter” para completar a execução do comando.


added interface ip=10.10.96.33 bcast=10.10.96.255 nmask=255.255.255.0

Got a positive name query response from 10.10.96.45 ( 10.10.96.45 )

Password:

Domain=[CAIXAMAGICA] OS=[Windows 5.1] Server=[Windows 2000 LAN Manager]


De seguida, o utilizador passa para uma prompt do samba dentro dadirectoria partilhada:


smb:\>


Aqui pode escrever “help” para visualizar os comandos que poderá executar dentro da directoria, ou “help <nome do comando>” para saber mais informação sobre um determinado comando.


Para sair desta prompt faça “exit” na consola.


Para visualizar informação sobre uma máquina do grupo escreva na consola (fora da promtp do samba):


CaixaMagica~# smbclient -L //windows1

added interface ip=10.10.96.33 bcast=10.10.96.255 nmask=255.255.255.0

Got a positive name query response from 10.10.96.45 ( 10.10.96.45 )

Password:

Domain=[CAIXAMAGICA] OS=[Windows 5.1] Server=[Windows 2000 LAN Manager]


Sharename Type Comment

--------- ---- -------

IPC$ IPC Remote IPC

SharedDocs Disk

Temp Disk

ADMIN$ Disk Remote Admin

C$ Disk Default share


Server Comment

--------- -------

SERVIDORCM Servidor Samba CM

WINDOWS1 ComputadorCM1


Workgroup Master

--------- -------

CAIXAMAGICA SERVIDORCM

WORKGROUP MD-NB2



  1. Em modo texto, montado a directoria partilhada:

    Também pode aceder à directoria partilhada através de um ponto de montagem.

    Para isso, é necessário acrescentar uma linha ao ficheiro /etc/fstab que monta a directoria, por exemplo, em /mnt/windows:

    //windows1/temp /mnt/windows/ smbfs defaults 0 0

    A seguir, numa consola, pode aceder à directoria como se fosse uma directoria do seu sistema, tendo que montar antes de aceder e desmontar depois para guardar as alterações:

      - montar a directoria: mount /mnt/windows

      - desmontar a directoria: umount /mnt/windows



  1. Em modo gráfico:

    Para aceder graficamente à directoria partilhada, tem que primeiro definir um ponto de montagem como indicado na alínea anterior.


Depois pode criar um link no seu Desktop ou dentro de “O meu computador” para aceder mais facilmente ao conteúdo da directoria:


Agora terá sempre poderá aceder sempre que quiser à directoria partilhada a partir do ícone criado.

[AD 5] Partilhar uma directoria do Linux com outra máquina Linux


Para aceder a uma directoria partilhada numa máquina Linux a partir de outra máquina Linux procede-se da mesma forma como se se tratasse de uma directoria partilhada em Windows, ou seja, seguem-se os passos utilizados na secção C.2).


O que difere aqui nesta secção é o nome da máquina a utilizar , a directoria a que se pretende aceder e o ponto de montagem (se se quiser utilizar um diferente). Em tudo o resto segue-se os passos explicados na referida secção.


Existe uma outra tecnologia para partilhar directorias entre máquinas Linux : o Network File System (NFS). No caso de não pretender partilhar a directoria com Windows, até é mais aconselhável que utilize o NFS por questões de desempenho e segurança.


[AD 6]Mais informações

[AD 6.1]Na internet:



[AD 6.2]Na linha de comandos: