Capítulo 6. O Arquivo de Configuração do Samba

Origem: https://www.samba.org/samba/docs/using_samba/ch06.html
Nos capítulos anteriores, mostramos como instalar o Samba em um servidor Unix e configurar clientes do Windows para usar um compartilhamento de disco simples. Este capítulo irá mostrar-lhe como o Samba pode assumir papéis mais produtivos em sua rede.
Os daemons de Samba, smbd e nmbd , são controlados através de um único arquivo ASCII, smb.conf , que pode conter mais de 300 opções exclusivas (também chamadas de parâmetros). Algumas dessas opções você usará e mudará com freqüência; outros que você nunca usará, dependendo da quantidade de funcionalidade que você deseja que o Samba ofereça aos seus clientes.


Este capítulo apresenta a estrutura do arquivo de configuração Samba e mostra como usar opções para criar e modificar compartilhamentos de disco. Capítulos subseqüentes irão discutir a navegação, como configurar usuários, segurança, impressão e outros tópicos relacionados à implementação do Samba em sua rede.


O Arquivo de Configuração do Samba


O arquivo de configuração do Samba, chamado smb.conf, por padrão, usa o mesmo formato que o Windows .init  arquivos. Se você já trabalhou com um arquivo .ini , você encontrará smb.conf fácil de criar e modificar. Mesmo que não o tenha feito, você encontrará o formato simples e fácil de aprender. Aqui está um exemplo de um arquivo de configuração Samba :

[global]
    workgroup = METRAN
    encrypt passwords = yes
    wins support = yes
    log level = 1 
    max log size = 1000
    read only = no
[homes] 
    browsable = no
    map archive = yes
[printers] 
    path = /var/tmp
    printable = yes
    min print space = 2000
[test]
    browsable = yes
    read only = yes
    path = /usr/local/samba/tmp
Quando um cliente se conecta ao compartilhamento [test] , o Samba primeiro lê a seção [somente leitura global] e define a opção read only = no como o padrão global para cada compartilhamento que encontra em todo o arquivo de configuração. Isso inclui os compartilhamentos [homes] e [test] . Quando lê a definição do compartilhamento [test] , ele encontra a opção de configuração read only = yes e substitui o padrão da seção [global] pelo valor yes .


Qualquer opção que aparece antes da primeira seção marcada é assumida como uma opção global. Isso significa que o título da seção [global] não é absolutamente necessário; no entanto, sugerimos que você sempre inclua isso para maior clareza e para garantir compatibilidade futura.

A seção [homes]

Se um cliente tentar se conectar a um compartilhamento que não aparece no arquivo smb.conf , o  Samba procurará um compartilhamento em [homes] no arquivo de configuração. Se existir um compartilhamento em [homes] , o nome de compartilhamento não resolvido é assumido como um nome de usuário do Unix. Se esse nome de usuário aparecer no banco de dados de senhas no servidor Samba, o Samba assume que o cliente é um usuário do Unix que tenta se conectar ao seu diretório pessoal no servidor.
Por exemplo, suponha que um sistema cliente esteja se conectando ao servidor Samba toltec pela primeira vez e tenta se conectar a um compartilhamento chamado [alice] . Não há compartilhamento de [alice] definido no arquivo smb.conf , mas há [homes] , então o Samba procura o arquivo de banco de dados de senha e encontra uma conta de usuário de alice está presente no sistema. Samba, em seguida, verifica a senha fornecida pelo cliente contra o usuário alice 's senha, seja Unix com o arquivo de banco de dados de senha, se ele está usando senhas não criptografadas ou com o Samba smbpasswd arquivo se senhas criptografadas estão em uso. Se as senhas combinarem, Samba sabe que adivinhou direito: o usuário Alice está tentando se conectar ao seu diretório inicial. Samba então criará um compartilhamento chamado [alice] para ela, com o caminho do compartilhamento definido para o diretório inicial de aliceO processo de usar a seção [homes] para criar usuários (e lidar com suas senhas) é discutido com mais detalhes no Capítulo 9 .

A seção [printers]

A terceira seção especial é chamada de [printers]e é semelhante a [homes] . Se um cliente tentar se conectar a um compartilhamento que não esteja no arquivo smb.conf e seu nome não pode ser encontrado no arquivo de senha, o Samba verificará se é um compartilhamento de impressora. O Samba faz isso lendo o arquivo de capacidades da impressora (geralmente /etc/printcap ) para ver se o nome do compartilhamento aparece lá. Se o fizer, o Samba cria uma partilha com o nome da impressora.
Isso significa que, como com [homes] , você não precisa manter um compartilhamento para cada impressora do sistema no arquivo smb.conf . Em vez disso, o Samba honra o registro da impressora Unix se você pedir, e fornece as impressoras registradas aos sistemas clientes. No entanto, existe uma dificuldade potencial: se você tiver uma conta chamada fred e uma impressora chamada fred , o Samba sempre encontrará a conta de usuário primeiro, mesmo que o cliente realmente precise se conectar à impressora.
O processo de configuração do compartilhamento [printers] é discutido com mais detalhes no Capítulo 10 .


Opções de Configuração

As opções nos arquivos de configuração do Samba se enquadram em uma das duas categorias: opções globais ou opções de compartilhamento . Cada categoria determina onde uma opção pode aparecer no arquivo de configuração.
Opções globais
As opções globais devem aparecer na seção [global] e em nenhum outro lugar. Estas são opções que normalmente se aplicam ao comportamento do próprio servidor de Samba e não a nenhum de seus compartilhamentos.
Opções de compartilhamento
As opções de compartilhamento podem aparecer nas definições de compartilhamento, na seção [global] ou em ambos. Se eles aparecem na seção [global] , eles definirão um comportamento padrão para todos os compartilhamentos, a menos que um compartilhamento substitua a opção por um valor próprio.
Além disso, as opções de configuração podem ter três tipos de valores. Eles são os seguintes:
bolean
Estes são simplesmente yes ou no, mas podem ser representados por qualquer um dos seguintes valores: yes, no, true, false, 1, ou 0.  Os valores são sensíveis a maiúsculas e minúsculas: YES é o mesmo que yes .
Numérico
Este é um número decimal, hexadecimal ou octal. O padrão 0xnn sintaxe é usado para hexadecimal e 0nnn para octal.
String
Esta é uma série de caracteres sensíveis a maiúsculas e minúsculas, como um nome de arquivo ou um nome de usuário.

Opções do Arquivo de Configuração

Você pode instruir o Samba a incluir ou substituir opções de configuração, pois está processando-as. As opções para fazer isso estão resumidas na Tabela 6-3 .

Tabela 6-3. Opções do arquivo de configuração

OpçãoParâmetrosFunçãoPadrão Escopo 
config filestring (nome do arquivo)Define a localização de um arquivo de configuração para usar em vez do atualNoneGlobal
includestring (nome do arquivo)Especifica um conjunto adicional de opções de configuração a serem incluídas no arquivo de configuraçãoNoneGlobal
copystring (nome do compartilhamento)Permite que você clone as opções de configuração de outro compartilhamento no compartilhamento atualNoneShare


arquivo de configuração

opção global config file especifica um arquivo de configuração de substituição que será carregado quando a opção for encontrada. Se o arquivo de destino existe, o restante do arquivo de configuração atual, bem como as opções encontradas até agora, serão descartadas, e o Samba se configurará inteiramente com as opções no novo arquivo. As variáveis ​​podem ser usadas com a opção de arquivo de configuração , que é útil no caso em que você deseja usar um arquivo de configuração especial com base no nome da máquina NetBIOS ou no usuário do cliente que está se conectando.
Por exemplo, a seguinte linha instrui Samba a usar um arquivo de configuração especificado pelo nome NetBIOS da conexão do cliente, se tal arquivo existir. Caso contrário, as opções especificadas no arquivo de configuração original são ignoradas:
[global]
    config file = /usr/local/samba/lib/smb.conf.%m
Se o arquivo de configuração especificado não existir, a opção será ignorada e o Samba continuará configurando-se com base no arquivo atual. Isso permite que um arquivo de configuração padrão atenda a maioria dos clientes, ao mesmo tempo que fornece exceções com arquivos de configuração personalizados.


incluir

Esta opção, discutida em maior detalhe anteriormente, copia o arquivo de destino no arquivo de configuração atual no ponto especificado, como mostrado na Figura 6-1 . Esta opção também pode ser usada com variáveis. Você pode usar esta opção da seguinte maneira:
[global]
    include = /usr/local/samba/lib/smb.conf.%m
Se o arquivo de configuração especificado não existir, a opção será ignorada. As opções no arquivo de inclusão substituem qualquer opção especificada anteriormente, mas não as opções especificadas mais tarde. Na Figura 6-1 , as três opções substituirão seus valores anteriores.



Figura 6-1. A opção de inclusão em um arquivo de configuração Samba


opção include não funciona com as variáveis %u (usuário), %P (diretório raiz do compartilhamento atual) ou %S (nome do compartilhamento atual) porque não estão configurados no momento em que o parâmetro include  é processado.


Copy

opção de configuração de cópia permite que você clone as opções de configuração do nome de compartilhamento que você especifica no compartilhamento atual. O compartilhamento de destino deve aparecer mais cedo no arquivo de configuração do que o compartilhamento que está executando a cópia. Por exemplo:
[template]
    writable = yes
    browsable = yes
    valid users = andy, dave, jay

[data]
    path = /usr/local/samba
    copy = template

Observe que todas as opções no compartilhamento que invocaram a diretiva de cópia substituirão aqueles no compartilhamento clonado; Não importa se eles aparecem antes ou depois da diretiva de cópia .


Configuração do Servidor

Agora vamos começar do zero e criar um arquivo de configuração para o nosso servidor Samba. Primeiro vamos apresentar três opções básicas de configuração que podem aparecer na seção [global] do arquivo smb.conf :
[global]
    #  Server configuration parameters
    netbios name = toltec
    server string = Samba %v on %L
    workgroup = METRAN
    encrypt passwords = yes
Este arquivo de configuração é bastante simples; Anuncia o servidor Samba sob o nome NetBIOS toltec . Além disso, ele coloca o sistema no grupo de trabalho METRAN e exibe uma descrição para os clientes que inclui o número da versão do Samba, bem como o nome NetBIOS do servidor Samba.


Comentários