- Introduction
- 1.1. Nota rápida sobre os termos
- Instalação
- Configuração
- 3.1. O ficheiro de mapa mestre
- 3.1.1. Mapas diretos e indiretos
- 3.2. Arquivos de mapa
- EXEMPLO: Auto-mount an NFS share
- 4.1. Edit /etc/auto.master
- 4.2. Criar o ficheiro /etc/auto.nfs
- 4.2.1. NFSv4
- 4.3. Desmontar montagens estáticas e editar /etc/fstab
- 4.4. Recarregar /etc/init.d/autofs
- 4.5. Certifique-se de que funciona
- Advanced Information
- 5.1. Nota em /net e /smb
- 5.2. Wildcard caracteres
- Montagem de outros tipos de sistemas de arquivos
- 6.1. CIFS
- 6.2. Sistemas de arquivo baseados em FUSE
- 6.2.1. Sistema de arquivos SSHFS
- Debugging Auto Mount Problems
- Ver Também
Introduction
autofs é um programa para a montagem automática de diretórios conforme a necessidade. As montagens automáticas são montadas apenas à medida que são acedidas, e são desmontadas após um período de inactividade. Devido a isso, a montagem automática de compartilhamentos NFS/Samba economiza largura de banda e oferece melhor desempenho geral em comparação com montagens estáticas via fstab.
1.1. Nota rápida sobre os termos
Para evitar confusão, serão utilizadas as seguintes terminologias:
-
automount é o programa usado para configurar um ponto de montagem para autofs. Quando o autofs é iniciado, um daemon de montagem automática é gerado para cada mapa.
- Auto-mount ou auto-mount refere-se ao processo de montagem automática de sistemas de arquivos.
-
autofs é o programa que controla a operação dos daemons de auto-montagem.
Instalação
Instalar o pacote autofs clicando aqui ou digitando o seguinte em uma janela de terminal:
-
$ sudo apt-get install autofs
Configuração
autofs podem ser configurados editando ficheiros de configuração. Existem outras formas de configurar o autofs em uma rede (veja AutofsLDAP), mas os arquivos de configuração fornecem a configuração mais simples.
3.1. O ficheiro de mapa mestre
O ficheiro de configuração mestre do autofs é o /etc/auto.master por defeito. A menos que você tenha uma boa razão para alterar isso, deixe-o como padrão.
Aqui está o ficheiro de amostra fornecido pelo Ubuntu:
## $Id: auto.master,v 1.4 2005/01/04 14:36:54 raven Exp $## Sample auto.master file# This is an automounter map and it has the following format# key location# For details of the format look at autofs(5).#/misc /etc/auto.misc --timeout=60#/smb /etc/auto.smb#/misc /etc/auto.misc#/net /etc/auto.net
-
Por padrão, todas as linhas são comentadas usando o caractere #.
Cada linha no auto.master descreve uma montagem e a localização do seu mapa. Estas linhas têm o seguinte formato:
-
mount-point :] map
3.1.1. Mapas diretos e indiretos
automount maps podem ser diretos ou indiretos. Mapas Indiretos, como os do arquivo auto.master mostrado acima, criam pontos de montagem como subdiretórios dentro do ponto de montagem principal. Por exemplo, considere a seguinte entrada do mapa mestre:
-
/smb /etc/auto.smb
Esta entrada em auto.master diz ao autofs para procurar em /etc/auto.smb e criar pontos de montagem no diretório /smb.
Mapas diretas criam um ponto de montagem no caminho especificado no arquivo de mapa relevante. A entrada do ponto de montagem no arquivo auto.master é sempre /-. Por exemplo, a seguinte linha instrui o autofs a criar um ponto de montagem no local especificado no arquivo auto.data:
-
/- /etc/auto.data
- Se o arquivo de mapa não for especificado usando um caminho completo local ou de rede, a configuração do Name Service Switch será usada para localizar o mapa, por exemplo:
/- auto.data
3.2. Arquivos de mapa
Como indicado acima, cada montagem autofs tem seu próprio arquivo de mapa. Estes ficheiros são normalmente nomeados usando a convenção auto.<X>, onde <X> pode ser qualquer coisa desde que corresponda a uma entrada em auto.master e seja válido para um ficheiro-nome.
Arquivos de mapa têm o seguinte formato:
-
key location
EXEMPLO: Auto-mount an NFS share
Neste howto, vamos configurar o autofs para auto-montar uma partilha NFS, usando um conjunto de ficheiros de configuração. Este howto assume que você já está familiarizado com as exportações NFS, e que você já tem um compartilhamento NFS funcionando corretamente em sua rede. Vá para a página de configuração do NFS para aprender como configurar um servidor desse tipo.
4.1. Edit /etc/auto.master
O passo seguinte cria um ponto de montagem em /nfs e configura-o de acordo com as configurações especificadas em /etc/auto.nfs (que iremos criar no próximo passo).
- Digite o seguinte em um terminal:
$ sudo nano /etc/auto.master
-
Adicionar a seguinte linha no final do /etc/auto.master:
/nfs /etc/auto.nfs
4.2. Criar o ficheiro /etc/auto.nfs
Agora vamos criar o ficheiro que contém o nosso mapa de montagem automática:
-
$ sudo nano /etc/auto.nfs
Este ficheiro deve conter uma linha separada para cada partilha NFS. O formato para uma linha é {ponto de montagem}. {localização}. Se tiver configurado previamente montagens estáticas em /etc/fstab, pode ser útil referir-se a elas. Lembre-se, os pontos de montagem especificados aqui serão relativos ao ponto de montagem dado em /etc/auto.master.
A linha seguinte é para ações usando versões antigas do NFS (anteriores à versão 4):
-
server server:/
Cria um novo ponto de montagem em /nfs/server/ e monta o diretório raiz do NFS exportado pela máquina cujo host-name é servidor.
4.2.1. NFSv4
Se suas ações NFS usam NFSv4, você precisa contar isso para o autofs. Em tal caso, a linha acima apareceria como a seguir:
-
server -fstype=nfs4 server:/
O cliente precisa das mesmas alterações no /etc/default/nfs-comum para se conectar a um servidor NFSv4.
-
Em /etc/default/nfs-comum que definimos:
NEED_IDMAPD=yesNEED_GSSD=no # no is default
4.3. Desmontar montagens estáticas e editar /etc/fstab
Se você configurou anteriormente as ações NFS como montagens estáticas, agora é o momento de desmontá-las.
-
$ sudo umount /server
Próximo, remova (ou comente) as suas respectivas entradas no /etc/fstab.
-
#server:/ /server/ nfs defaults 0 0
4.4. Recarregar /etc/init.d/autofs
Após introduzir as suas alterações, corra o seguinte comando para recarregar autofs:
-
$ sudo service autofs reload
Se estiver trabalhando em uma versão mais antiga do ubuntu, e isso não funcionar tente:
-
$ sudo /etc/init.d/autofs reload
Se trabalhar em Natty, e isso não funciona, tente:
-
$ sudo /etc/init.d/autofs restart
4.5. Certifique-se de que funciona
Para aceder à acção e verificar se está a funcionar correctamente, introduza o seguinte numa shell:
-
$ ls /nfs/server
Se vir a sua partilha NFS listada, parabéns! Você tem uma montagem NFS funcional via autofs! Se você quer aprender alguma informação mais avançada, continue lendo.
Advanced Information
Segundo a estrutura de directórios de exemplo acima, se você entrar ls /nfs numa shell, pode ficar surpreendido por não ver nada listado. Mas lembre-se que você precisa acessar um diretório antes que ele seja auto-montado. Para acessar o compartilhamento, digite ls /nfs/servidor. Uma vez que tenha sido acessado, seu compartilhamento será listado apenas até que ele se esgote. Isto é bom para ter em mente, pois pode poupar-lhe tempo a diagnosticar um problema de autofs que não está realmente lá.
5.1. Nota em /net e /smb
Estas duas configurações padrão podem ser úteis para a sua configuração. Se você tem muitas ações NFS ou Samba, você pode querer descomentar estas linhas. A /net permite a montagem automática de sistemas de arquivos em outros lugares da rede que são exportados por NFS. Por exemplo, se você tem um servidor chamado fileserver com um diretório de exportação NFS chamado /export, você pode montá-lo digitando em uma linha de comando shell cd /net/fileserver/export. Em um ambiente com servidores de arquivos NFS, tal configuração pode ser útil. O /smb funciona da mesma maneira, mas é para sistemas de arquivos Samba. No entanto, se você precisar autenticar antes de acessar o compartilhamento Samba, o automount não funcionará.
5.2. Wildcard caracteres
Vamos dizer que você tem um diretório com um número de subdiretórios que você quer ter auto-montado individualmente. Um exemplo disto é o diretório /home, neste caso o /etc/auto.master pode conter a seguinte linha:
-
/home /etc/auto.home
Se o usuário1 estiver logado, você vai querer auto-montar seu diretório home. No entanto, se você criar um ponto de montagem para todo o diretório /home, você também irá montar os diretórios home de todos os outros usuários ao mesmo tempo, desperdiçando assim largura de banda. Uma solução para isso seria criar entradas separadas para cada diretório, como a seguir:
-
# /etc/auto.homeuser1 server:/home/user1user2 server:/home/user2user3 server:/home/user3
Isto funciona, mas é incómodo. Em vez disso, você pode usar caracteres wild-card, como a seguir:
-
* server:/home/&
O asterisco (*) é usado no lugar do ponto de montagem e o sinal sonoro (&) no lugar do diretório a ser montado. Para mais detalhes sobre o uso de wild-cards veja Usando caracteres wild-card como atalhos no AutoFS Maps.
Você também pode usar variáveis (veja a página de manual autofs(5)) para substituir usuários e outros parâmetros para ser capaz de criar um arquivo genérico para múltiplos usuários. Exemplo abaixo é o mapa smb que mapeia baseado no usuário que pede o compartilhamento usando a variável $USER.
* -fstype=cifs,rw,credentials=/home/$USER/.smbcredentials,iocharset=utf8,uid=$USER,gid=users,file_mode=0700,dir_mode=0700 ://server/$USERshare1 -fstype=cifs,rw,credentials=/home/$USER/.smbcredentials,iocharset=utf8,uid=$USER,gid=users ://server/share1share2 -fstype=cifs,rw,credentials=/home/$USER/.smbcredentials,iocharset=utf8,uid=$USER,gid=users ://server/share2
Montagem de outros tipos de sistemas de arquivos
6.1. CIFS
Quando especificar um compartilhamento CIFS em um arquivo de mapa, especifique -fstype=cifs e preceda a localização do compartilhamento com dois-pontos (:).
Exemplo:
mntpoint -fstype=cifs ://example.com/shrname
Exemplo: Monte a leitura-escrita, especificando um usuário e um grupo para possuir os arquivos:
mntpoint -fstype=cifs,rw,uid=myuserid,gid=mygrpid ://example.com/shrname
Exemplo: Montar leitura-escrita, especificando um nome de usuário e uma senha para usar para conectar ao compartilhamento:
mntpoint -fstype=cifs,rw,username=myuser,password=mypass ://example.com/shrname
6.2. Sistemas de arquivo baseados em FUSE
Sistemas de arquivo baseados em FUSE são montados especificando -fstype=fuse. A localização do sistema de arquivo especifica o binário de espaço do usuário usado para montar o sistema de arquivo, seguido por um hash (#), seguido pela localização.
Ao especificar a localização do sistema de arquivos FUSE em um arquivo de mapa, certos caracteres, notadamente o hash (#) e os dois pontos (:), devem ser escapados por uma barra invertida (\). Toda a localização deve ser precedida por uma barra invertida (:).
Desde que o automount execute a montagem como root é normalmente necessário especificar allow_other nas opções de montagem para permitir que o seu userid não-root aceda à partilha.
6.2.1. Sistema de arquivos SSHFS
SSHFS é um sistema de arquivos baseado em FUSE. Em uma montagem autofs, os dois pontos (:) seguindo o nome do servidor devem ser escapados por uma barra invertida (\).
Você já deve ter configurado a autenticação sem senha via criptografia de chave pública. Certifique-se de que entendeu as implicações de segurança disto antes de prosseguir.
Remember, automount irá montar seu sistema de arquivos SSHFS como root, então você precisa fazê-lo:
-
Copiar sua chave privada para o diretório /root/.ssh. Tenha certeza de que você entendeu as implicações de segurança disso antes de prosseguir.
-
Adicionar as chaves de host necessárias ao diretório /root/.ssh/known_hosts.
- Especifique o nome de usuário usado para conectar
Para testar a montagem do seu sistema de arquivos SSHFS como root emitiu o seguinte:
sudo sshfs [email protected]:/ mountpoint
Se a montagem for bem sucedida sem pedir uma senha, você está pronto para montar o sistema de arquivos via autofs
Exemplo:
mntpoint -fstype=fuse,allow_other :sshfs\#[email protected]\:/path/to/mount
Exemplo: Monte a leitura-escrita, especificando um usuário e grupo para possuir os arquivos:
mntpoint -fstype=fuse,rw,uid=1000,gid=1000,allow_other :sshfs\#[email protected]\:/path/to/mount
Nota que para montagens FUSE, uid e gid devem ser ids numéricos.
Debugging Auto Mount Problems
Se você estiver tendo problemas para automatizar seus sistemas de arquivos, pode ser útil executar a montagem automática em primeiro plano.
-
Parar o daemon autofs
sudo service autofs stop
-
Executar a montagem automática em primeiro plano com informação verbosa
sudo automount -f -v
- De outro terminal, tente montar os seus sistemas de ficheiros alterando os directórios para o ponto de montagem.
- Cheque a saída do primeiro terminal para pistas sobre o porquê da falha ou não da montagem.
Ver Também
-
Mount – Informações sobre o processo de montagem e sua configuração no Ubuntu.
-
A página de manual de montagem – hospedada no site oficial do Ubuntu.