4.6. Configuração do servidor NFS
Esta seção descreve a sintaxe e as opções de duas maneiras de configurar as exportações em um servidor NFS:
-
Edição manual do arquivo de configuração
/etc/exports
-
Usando o utilitário
exportfs
na linha de comando
4.6.1. O arquivo de configuração /etc/exporta
O arquivo /etc/exports
controla quais sistemas de arquivo são exportados para hosts remotos e especifica opções. Ele segue as seguintes regras de sintaxe:
- As linhas em branco são ignoradas.
-
Para acrescentar um comentário, inicie uma linha com a marca hash (
#
). -
Você pode enrolar longas linhas com uma contrabarra (
\
). - Cada sistema de arquivo exportado deve estar em sua própria linha individual.
- Qualquer lista de hosts autorizados colocada após um sistema de arquivo exportado deve ser separada por caracteres de espaço.
- As opções para cada um dos anfitriões devem ser colocadas entre parênteses diretamente após o identificador do anfitrião, sem nenhum espaço que separe o anfitrião do primeiro parêntese.
Entrada de exportação
Cada entrada para um sistema de arquivo exportado tem a seguinte estrutura:
export host(options)
Também é possível especificar múltiplos anfitriões, juntamente com opções específicas para cada anfitrião. Para isso, liste-os na mesma linha de uma lista delimitada por espaço, com cada nome de host seguido de suas respectivas opções (entre parênteses), como em:
export host1(options1) host2(options2) host3(options3)
Nesta estrutura:
- export
- O diretório que está sendo exportado
- host
- O anfitrião ou rede para a qual a exportação está sendo compartilhada
- options
- As opções a serem utilizadas para hospedar
Exemplo 4.1. Um simples arquivo /etc/exportação
Em sua forma mais simples, o arquivo /etc/exports
especifica apenas o diretório exportado e os anfitriões autorizados a acessá-lo:
/exportado/directório bob.example.com
Aqui, bob.example.com
pode montar /exported/directory/
a partir do servidor NFS. Como nenhuma opção está especificada neste exemplo, o NFS usa opções padrão.
O formato do arquivo /etc/exports
é muito preciso, particularmente no que diz respeito ao uso do caráter espacial. Lembre-se de sempre separar os sistemas de arquivo exportados dos sistemas hospedeiros e hospedeiros uns dos outros com um caractere de espaço. Entretanto, não deve haver outros caracteres de espaço no arquivo, exceto nas linhas de comentário.
Por exemplo, as duas linhas a seguir não significam a mesma coisa:
/home bob.example.com(rw) /home bob.example.com (rw)
A primeira linha permite apenas aos usuários do site bob.example.com
o acesso de leitura e escrita ao diretório /home
. A segunda linha permite aos usuários de bob.example.com
montar o diretório como somente leitura (o padrão), enquanto o resto do mundo pode montá-lo como leitura/escrita.
Opções padrão
As opções padrão para uma entrada de exportação são:
ro
- O sistema de arquivo exportado é somente leitura. Os hosts remotos não podem alterar os dados compartilhados no sistema de arquivo. Para permitir que os hosts façam mudanças no sistema de arquivo (ou seja, leitura e escrita), especifique a opção rw.
sync
-
O servidor NFS não responderá às solicitações antes que as alterações feitas por solicitações anteriores sejam gravadas em disco. Para habilitar as escritas assíncronas, em vez disso, especifique a opção
async
. wdelay
-
O servidor NFS irá atrasar a gravação no disco se suspeitar que outra solicitação de gravação está iminente. Isto pode melhorar o desempenho, pois reduz o número de vezes que o disco deve ser acessado por comandos de gravação separados, reduzindo assim a sobrecarga de gravação. Para desativar isto, especifique a opção
no_wdelay
, que está disponível somente se a opção de sincronização padrão também for especificada. root_squash
Isso impede que usuários root conectados remotamente (ao contrário de localmente) tenham privilégios de root; em vez disso, o servidor NFS atribui a eles o ID de usuário
nobody
. Isto efetivamente "esmaga" o poder do usuário root remoto para o usuário local mais baixo, impedindo possíveis escritas não autorizadas no servidor remoto. Para desabilitar o squashing da raiz, especifique a opçãono_root_squash
.Para esmagar cada usuário remoto (incluindo a raiz), use a opção
all_squash
. Para especificar os IDs de usuário e grupo que o servidor NFS deve atribuir aos usuários remotos de um determinado host, use as opçõesanonuid
eanongid
, respectivamente, como em:export host(anonuid=uid,anongid=gid)
Aqui, uid e gid são o número de identificação do usuário e o número de identificação do grupo, respectivamente. As opções
anonuid
eanongid
permitem a criação de uma conta especial de usuário e grupo para usuários de NFS remoto para compartilhar.
Por default, as listas de controle de acesso (ACLs) são suportadas pelo NFS sob o Red Hat Enterprise Linux. Para desabilitar este recurso, especifique a opção no_acl
ao exportar o sistema de arquivo.
Opções padrão e anuladas
Cada padrão para cada sistema de arquivo exportado deve ser explicitamente anulado. Por exemplo, se a opção rw
não for especificada, então o sistema de arquivo exportado é compartilhado como somente leitura. O seguinte é uma linha de exemplo de /etc/exports
que anula duas opções padrão:
/another/exported/directory 192.168.0.3(rw,async)
Neste exemplo, 192.168.0.3
pode montar /another/exported/directory/
ler e escrever, e todas as gravações em disco são assíncronas.