24.2. Configurando um Servidor Samba

O arquivo de configuração default (/etc/samba/smb.conf) permite a usuários visualizar seus diretórios home como uma partilha do Samba. Também compartilha todas as impressoras configuradas para o sistema como impressoras compartilhadas. Em outras palavras, você pode anexar uma impressora ao sistema e imprimir nela a partir de máquinas Windows de sua rede.

24.2.1. Configuração Gráfica

Para configurar o Samba usando uma interface gráfica, use a Ferramenta de Configuração do Servidor Samba. Para configuração pela linha de comandos, pule para a Seção 24.2.2.

A Ferramenta de Configuração do Servidor Samba é uma interface gráfica para administrar as partilhas, usuários e configurações básicas do Samba. Ela modifica os arquivos de configuração no diretório /etc/samba/. Todas as alterações destes arquivos feitas sem o uso da aplicação são preservadas.

Para usar esta aplicação, você deve rodar o Sistema X Window, ter privilégios root e ter o pacote RPM redhat-config-samba instalado. Para inciar a Ferramenta de Configuração do Servidor Samba pela área de trabalho, clique no Botão do Menu Principal (no Painel) => Configurações do Sistema => Configurações do Servidor => Samba ou digite o comando redhat-config-samba em uma janela de comandos (ex.: em um XTerm ou terminal do GNOME).

Figura 24-1. Ferramenta de Configuração do Servidor Samba

NotaNota
 

A Ferramenta de Configuração do Servidor Samba não exibe impressoras compartilhadas ou a estrofe default que permite a usuários visualizarem seus próprios diretórios home no servidor Samba.

24.2.1.1. Definindo as Configurações do Servidor

O primeiro passo para configurar um servidor Samba é definir as configurações básicas e algumas opções de segurança. Após iniciar a aplicação, selecione Preferências => Configurações do Servidor no menu suspenso. A aba Básica é exibida conforme a Figura 24-2.

Figura 24-2. Definindo as Configurações Básicas do Servidor

Na aba Básica, especifique em qual grupo de trabalho o computador deve estar, assim como uma breve descrição do computador. Estas correspondem às opções workgroup e server string do arquivo smb.conf.

Figura 24-3. Definindo as Configurações de Segurança do Servidor

A aba Segurança contém as seguintes opções:

  • Modo de Autenticação — Corresponde à opção segurança. Selecione um dos tipos de autenticação a seguir.

    • ADS — O servidor Samba atua como um membro do domínio em um reino de Domínio de Diretório Ativo (ADS - Active Directory Domain ). Para esta opção, o Kerberos deve estar instalado e configurado no servidor, e o Samba deve tornar-se um membro do reino ADS, usando o utilitário net, parte do pacote samba-client. Consulte a página man do net para mais detalhes. Esta opção não configura o Samba para ser um Controlador ADS.

    • Domínio — O servidor Samba baseia-se em um Controlador de Domínio de Backup ou Primário do Windows NT para verificar o usuário. O servidor passa o nome e senha do usuário ao Controlador e espera que ele retorne. Especifique o nome do NetBIOS do Controlador de Domínio de Backup ou Primário no campo Servidor de Autenticação.

      A opção Senhas Criptografadas deve ser definida como Sim se esta for selecionada.

    • Servidor — O servidor Samba tenta verificar a combinação nome e senha do usuário passando-os para outro servidor Samba. Se não puder fazer isso, o servidor tenta verificar usando o modo de autenticação do usuário. Especifique o nome NetBIOS do outro servidor Samba no campo Servidor de Autenticação.

    • Partilha — Os usuários do Samba não precisam indicar uma combinação de nome e senha em cada servidor do Samba. Não é necessário indicar nome e senha do usuário até que tente conectar a um diretório compartilhado específico através de um servidor Samba.

    • Usuário — (Default) usuários do Samba devem prover um nome e senha de usuário válidos em cada servidor do Samba. Selecione esta opção se você deseja que a opção Nome do Usuário do Windows funcione. Consulte a Seção 24.2.1.2 para mais detalhes.

  • Criptografar Senhas — Esta opção deve ser habilitada se os clientes estão conectando a partir de um Windows 98, Windows NT 4.0 com Pacote de Serviço 3, ou outras versões mais recentes do Microsoft Windows. As senhas são transferidas entre o servidor e o cliente de forma criptografada, ao invés da forma em texto puro, que é fácil de ser interceptada. Isto corresponde à opção senhas criptografadas. Consulte a Seção 24.2.3 para mais informações sobre senhas criptografadas do Samba.

  • Conta Convidado — Quando usuários ou usuários convidados se autenticam no servidor Samba, devem ser mapeados a um usuário válido no servidor. Selecione um dos nomes de usuários existentes no sistema para ser a conta convidado do Samba. Quando os convidados se autenticarem no servidor Samba, eles têm os mesmos privilégios que o usuário. Isto corresponde à opção guest account.

Após clicar em OK, as alterações são gravadas no arquivo de configuração e o daemon é reiniciado; portanto, as alterações têm efeito imediato.

24.2.1.2. Administrando Usuários do Samba

A Ferramenta de Configuração do Servidor Samba requer que uma conta de usuário existente esteja ativa no sistema, atuando como o servidor Samba antes que um usuário do Samba possa ser adicionado. O usuário do Samba é associado à conta de usuário existente.

Figura 24-4. Administrando Usuários do Samba

Para adicionar um usuário ao Samba, selecione Preferências => Usuários do Samba no menu suspenso e clique no botão Adicionar Usuário. Na janela Criar Novo Usuário do Samba, selecione Nome de Usuário Unix na lista de usuários existentes no sistema local.

Se o usuário tem um nome de usuário diferente em uma máquina Windows e se autenticará no servidor Samba pela máquina Windows, especifique este nome de usuário Windows no campo Nome de Usuário Windows. O Modo de Autenticação na aba Segurança das preferências das Configurações do Servidor deve ser definido para Usuário para que esta opção funcione.

Também configure uma Senha do Samba para o Usuário do Samba e confirme-a digitando-a novamente. Mesmo se você selecionar usar senhas criptografadas para o Samba, é recomendado que as senha do Samba para todos os usuários sejam diferentes das suas senhas de sistema.

Para editar um usuário existente, selecione-o na lista e clique em Editar Usuário. Para apagar um usuário do Samba, selecione-o e clique no botão Apagar Usuário. Apagar um usuário do Samba não apaga a conta de usuário associada no sistema.

Os usuários são modificados imediatamente após clicar no botão OK.

24.2.1.3. Adicionando uma Partilha

Figura 24-5. Adicionando uma Partilha

Para adicionar uma partilha, clique no botão Adicionar. A aba Básica configura as seguintes opções:

  • Diretório — O diretório a compartilhar via Samba. O diretório deve existir.

  • Descrições — Uma breve descrição da partilha.

  • Permissões Básicas — Determina se os usuários podem ler (read) os arquivos no diretório compartilhado ou se podem ler e gravar (read and write) no diretório compartilhado.

Na aba Acesso, selecione se permitirá que somente usuários especificados ou se permitirá que todos os usuários do Samba acessem a partilha. Se você selecionar permitir o acesso de usuários específicos, selecione os usuários na lista de usuários disponíveis do Samba.

A partilha é adicionada imediatamente após clicar em OK.

24.2.2. Configuração na Linha de Comandos

O Sama usa o /etc/samba/smb.conf como seu arquivo de configuração. Se você alterá-lo, as alterações não têm efeito até que reinicie o daemon do Samba com o comando service smb restart.

Para especificar o grupo de trabalho do Windows e uma breve descrição do servidor Samba, edite as seguintes linhas de seu arquivo smb.conf:

workgroup = WORKGROUPNAME
server string = BRIEF COMMENT ABOUT SERVER

Substitua WORKGROUPNAME pelo nome do grupo de trabalho do Windows ao qual esta máquina deve pertencer. O BRIEF COMMENT ABOUT SERVER é opcional e é usado como o comentário do Windows sobre o sistema Samba.

Para criar um diretório da partilha Samba no seu sistema Linux, adicione a seguinte seção ao seu arquivo smb.conf (após modificá-lo para refletir suas necessidades e sistema):

[sharename]
comment = Insert a comment here
path = /home/share/
valid users = tfox carole
public = no
writable = yes
printable = no
create mask = 0765

O exemplo acima permite aos usuários tfox e carole ler e gravar (read and write) no diretório /home/share, no servidor Samba, a partir de um cliente Samba.

24.2.3. Senhas Criptografadas

Senhas criptografadas são habilitadas por default porque são mais seguras. Se as senhas criptografadas não forem usadas, serão usadas senhas em texto puro, que podem ser interceptadas por alguém usando um sniffer de pacote de rede. É recomendado usar as senhas criptigrafadas.

O Protocolo SMB da Microsoft originalmente usava senhas em texto puro. No entanto, o Windows NT 4.0 com Pacote de Serviço 3 ou mais recente, Windows 98, Windows 2000, Windows ME e o Windows XP requerem senhas do Samba criptografadas. Para usar o Samba entre um sistema Linux e um sistema usando um destes sistemas operacionais Windows, você pode editar seu registro Windows para usar senhas em texto puro ou configurar o Samba em seu sistema Linux para usar senhas criptografadas. Se optar por mudar seu registro, deve fazê-lo em todas as máquinas Windows — isto é arriscado e pode causar conflitos futuros. Para sua maior segurança, recomendamos o uso de senhas criptografadas.

Para configurar o Samba a usar senhas criptografadas, siga estes passos:

  1. Crie um arquivo de senhas separado para o Samba. Para criar um baseado em seu arquivo /etc/passwd existente, digite o seguinte em uma janela de comandos:

    cat /etc/passwd | mksmbpasswd.sh > /etc/samba/smbpasswd

    Se o sistema usa NIS, digite o seguinte comando:

    ypcat passwd | mksmbpasswd.sh > /etc/samba/smbpasswd

    O script mksmbpasswd.sh é instalado em seu diretório /usr/bin com o pacote samba.

  2. Altere as permissões do arquivo de senhas do Samba para que somente root tenha permissões de leitura e gravação (read and write).

    chmod 600 /etc/samba/smbpasswd
  3. O script não copia senhas de usuários ao novo arquivo, e uma conta de usuário do Samba não está ativa até que uma senha seja definida para esta. Para maior segurança, é recomendado que a senha Samba dos usuários seja diferente da senha do usuário no sistema. Para cada senha de usuário no Samba, use o seguinte comando (substitua username pelo nome de cada usuário):

    smbpasswd username 
  4. As senhas criptografadas devem ser habilitadas. Como estas são habilitadas por default, não precisam ser especificamente habilitadas no arquivo de configuração. Entretanto, também não podem ser desabilitadas no arquivo de configuração. No arquivo /etc/samba/smb.conf, certifique de que a linha seguinte não existe:

    encrypt passwords = no

    Se existir, mas for comentada com um ponto e vírgula (;) no começo da linha, então a inha é ignorada e as senhas criptografadas são habilitadas. Se esta linha existir, mas não for comentada, remova-a ou comente-a.

    Para habilitar especificamente as senhas criptografadas no arquivo de configuração, adicione as linhas seguintes ao etc/samba/smb.conf:

    encrypt passwords = yes
    smb passwd file = /etc/samba/smbpasswd
  5. Assegure que o serviço smb seja iniciado, digitando o comando service smb restart em uma janela de comandos.

  6. Se você deseja que o serviço smb inicie automaticamente, use a ntsysv, chkconfig ou a Ferramenta de Configuração dos Serviços para habilitá-lo na hora da execução. Consulte o Capítulo 21 para mais detalhes.

O módulo PAM pam_smbpass pode ser usado para sincronizar senhas Samba de usuários com suas senhas no sistema quando o comando passwd for usado. Se um usuário invocar o comando passwd, a senha que ele usa para autenticar-se no sistema Red Hat Enterprise Linux e a senha usada para conectar à partilha do Samba são alteradas.

Para habilitar esta funcionalidade, adicione a linha seguinte ao /etc/pam.d/system-auth abaixo de pam_cracklib.so:

password required /lib/security/pam_smbpass.so nullok use_authtok try_first_pass

24.2.4. Iniciando e Parando o Servidor

O serviço smb deve estar rodando no servidor que está compartilhando diretórios através do Samba.

Visualize o estado do daemon do Samba com o seguinte comando:

/sbin/service smb status

Inicie o daemon com o seguinte comando:

/sbin/service smb start

Pare o daemon com o seguinte comando:

/sbin/service smb stop

Para iniciar o serviço smb no momento da inicialização, use o comando:

/sbin/chkconfig --level 345 smb on

Você também pode usar chkconfig, ntsysv ou a Ferramenta de Configuração dos Serviços para configurar quais serviços iniciar no momento da inicialização. Consulte o Capítulo 21 para mais detalhes.

DicaDica
 

Para visualizar as conexões ativas do sistema, execute o comando smbstatus.