28.5. Samba como servidor de login

Em redes onde se encontram predominantemente clientes Windows, muitas vezes é preferível que os usuários somente possam se registrar com uma conta e senha válidos. Em uma rede baseada no Windows, essa tarefa é realizada por um servidor Windows NT configurado como um controlador de domínio primário (PDC), mas também pode ser executada com a ajuda de um servidor Samba. As entradas a serem feitas na seção [global] de smb.conf aparecem no Exemplo 28.3, “Seção global em smb.conf”.

Exemplo 28.3. Seção global em smb.conf

       [global]
       workgroup = TUX-NET
       domain logons = Yes
       domain master = Yes

Se forem usadas senhas criptografadas para fins de verificação (essa é a configuração padrão com instalações bem mantidas do MS Windows 9x, MS Windows NT 4.0 do pacote de serviços 3, e todos os produtos posteriores) o servidor Samba precisará ser capaz de tratá-las. A entrada encrypt passwords = yes na seção [global] permite isso (com a versão 3 do Samba, esse passa a ser o padrão). Além disso, é necessário preparar contas e senhas de usuários em formato de criptografia compatível com o Windows. Para isso, use o comando smbpasswd -a name. Crie a conta de domínio dos computadores, exigida pelo conceito de domínio do Windows NT, com os seguintes comandos:

Exemplo 28.4. Configurando uma conta de máquina

       useradd hostname\$
       smbpasswd -a -m hostname

Com o comando useradd, um símbolo de cifrão é adicionado. O comando smbpasswd insere esse símbolo automaticamente quando o parâmetro -m é usado. O exemplo de configuração comentado (/usr/share/doc/packages/Samba/examples/smb.conf.SuSE) contém configurações que automatizam essa tarefa.

Exemplo 28.5. Configuração automatizada de uma conta de máquina


       add machine script = /usr/sbin/useradd -g nogroup -c "NT Machine Account" \
       -s /bin/false %m\$
     

Para verificar se o Samba pode executar esse script corretamente, escolha um usuário do Samba com as permissões de administrador obrigatórias. Para isso, selecione um usuário e adicione-o ao grupo ntadmin. Depois disso, será possível designar a todos os usuários pertencentes a esse grupo Linux o status de Domain Admin com o comando:

     net groupmap add ntgroup="Domain Admins" unixgroup=ntadmin
   

Mais informações sobre esse tópico aparecem no Capítulo 12 da Coleção HOWTO do Samba, contida no arquivo /usr/share/doc/packages/samba/Samba-HOWTO-Collection.pdf.