Configurando o SAMBA

Você pode configurar o servidor SAMBA editando o arquivo /etc/samba/smb.conf para mudar as opções padrão ou adicionar novas configurações. Mais informações sobre cada configuração estão disponíveis nos comentários do /etc/samba/smb.conf ou lendo a página de manual do /etc/samba/smb.conf através do seguinte comando digitado no prompt do terminal:

man smb.conf

[Dica]

Antes de editar o arquivo de configuração, você deve fazer uma cópia do arquivo original e protegê-lo contra escrita para que você tenha as configurações originais como uma referência e reutilizá-las quando necessário.

Faça backup do arquivo /etc/samba/smb.conf:

sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.original

Agora, edite o arquivo /etc/samba/smb.conf e faça suas alterações.

Servidor

Além do conjunto SAMBA, que compartilha arquivos e impressoras, o Ubuntu inclui outras aplicações poderosas que fornecem funcionalidades adicionais, como servidor de rede para clientes Windows, semelhante as funcionalidades fornecidas pelos atuais servidores Windows. Por exemplo, Ubuntu oferece gerência centralizada de recursos de rede tal como computadores e operadores via Serviço de Diretórios, o que facilita a identificação, autorização de computadores e usuários por meio de Serviço de Autenticação.

As seguintes seções discutirão SAMBA e as tecnologias de suporte, tal como servidor Lightweight Directory Access Protocol - LDAP, e servidor de autenticação Kerberos com mais detalhe. Você também aprenderá sobre algumas diretrizes disponíveis de configuração do SAMBA que facilita integração da rede com clientes e servidores Windows.

Active Directory

Active Directory é uma implementação proprietário do Serviço de Diretório da Microsoft, e é usada para fornecer um meio de compartilhar informações sobre recursos de rede e usuários. Além de fornecer uma fonte centralizada de tal informação, Active Directory também age como uma autoridade centralizada de segurança e autenticação para a rede. Active Directory combina capacidades tradicionalmente achadas separadamente em sistemas especializados simplificando integração, gerência, e segurança de recursos de rede. O pacote SAMBA pode ser configurado para usar serviços de Active Directory para Controle de Domínios Windows.

LDAP

O servidor LDAP fornece funcionalidade de Serviço de Diretório a computadores Windows numa maneira muito semelhante ao serviço Active Directory da Microsoft. Tais serviços incluem administração de identidades, conexões de computadores, usuários, grupos de computadores ou usuários que participam da rede, além de possibilitar um meio coerente de descrever, localizar e administrar estes recursos. A implementação livre do LDAP disponível para seu sistema Ubuntu é chamada de OpenLDAP. Os servidor de "daemons" responsável por manipular requisições do OpenLDAP e propagar dados doe servidor de diretório LDAP a outro no Ubuntu é slapd e slurpd. O OpenLDAP pode ser usado em conjunto com o SAMBA para fornecer Arquivo, Impressão, serviços de Diretório é praticamente igual ao Controle de Domínios do Windows contanto que, o SAMBA seja compilado com suporte a LDAP.

Kerberos

O sistema de segurança e autenticação Kerberos é um serviço padrão que fornecer autenticação entre computadores e usuários por meio de um servidor centralizado que concede autenticações criptografas a qualquer computador que esteja utilizando o Kerberos. Os benefícios do sistema de autenticação do Kerberos incluem autenticação mútua, autenticação delegada, interoperabilidade e gerência simplificada confiável. O servidor primário de "daemons" que manipula a autentificação do Kerberos e o servidor que administra a base de dados do Kerberos no Ubuntu são krb5kdc e kadmin. O SAMBA pode usar Kerberos como um mecanismo para autentificação de computadores e usuários em contraste com o Controle de Domínios do Windows. Uma vez instalado o Kerberos no Ubuntu, o /etc/samba/smb.confdeve ser selecionado e modificado de modo adequado o realm e security. Exemplo: edita o arquivo /etc/samba/smb.conf e adiciona os valores:

realm = NOME_DO_DOMINIO

security = ADS

no arquivo, e salve-o.

[Dica]

Assegure-se de substituir o símbolo DOMAIN_NAME no exemplo acima pelo nome verdadeiro do seu Domínio Windows específico.

Você precisará reiniciar os daemons SAMBA para efetivar essas alterações. Reinicie os serviços do SAMBA com o seguinte comando inserido no prompt do terminal:

sudo /etc/init.d/samba restart

Contas de Computador

Contas de Computador são utilizadas em Serviços de Diretório para identificar unicamente sistemas de computador que participam de uma rede e são também tratados da mesma maneira que usuários em termos de segurança. Contas de computador podem ter senha assim como usuários têm e estão sujeitas a autorização para acessar recursos de rede da mesma forma que contas de usuários. Por exemplo, se um usuário de rede com uma conta válida para uma rede em particular tenta se autenticar a um recurso de rede de um computador que não tem uma conta de computador válida, dependendo das diretivas aplicadas na rede, o acesso ao recurso pode ser negado ao usuário se o computador do qual ele tenta se autenticar é considerado um computador não autorizado.

Uma conta de computador pode ser adicionada ao arquivo de senha do SAMBA, estipulando um nome de computador antes de adicionar, e este deve ser uma conta válida de usuário na base de dados local. Para adicionar uma conta de computador ou máquina ao arquivo de senhas do SAMBA use o comando smbpasswd em um terminal como se segue:

sudo smbpasswd -a -m NOME_DO_COMPUTADOR

[Dica]

Certifique-se de substituir o símbolo NOME_DO_COMPUTADOR no exemplo acima com o nome real do computador específico que você deseja adicionar.

Permissões de Arquivo

As Permissões de Arquivo definem de forma clara os direitos que um computador ou usuário tem a um diretório particular, arquivo ou grupo de arquivos. Tais permissões podem ser definidas editando /etc/samba/smb.conf e especificando de forma clara as permissões para o arquivo compartilhado. Por exemplo, se você tem definido no compartilhamento do SAMBA a pastasourcedocse deseja oferece-la com permissãoread-only (somente leitura) ao grupo conhecido de usuários planning, mas necessita permitir que o grupo authors e o usuário chamado richard tenham permissão de escrita, edite o arquivo /etc/samba/smb.conf e adicione as seguintes entradas logo abaixo de [sourcedocs]:

read list = @planning

write list = @authors, richard

Salve o arquivo /etc/samba/smb.conf para que as alterações tenham efeito.

Outra possível permissão é declarar permissõesadministrativas a um particular e compartilhar recurso. Usuários com permissões administrativas podem ler, gravar ou modificar qualquer informação contida pois lhe foi dada de forma explícita esta autonomia. Por exemplo, se você precisa conceder ao usuário melissa permissões administrativas para a pasta compartilhadasourcedocs, você deve editar o arquivo /etc/samba/smb.conf e adicionar logo abaixo a entrada [sourcedocs] as seguintes linhas:

admin users = melissa

Salve o arquivo /etc/samba/smb.conf para que as alterações tenham efeito.

Clientes

O Ubuntu inclui aplicações cliente e capacidades para acessar recursos de rede compartilhados com o protocolo SMB. Por exemplo, o utilitário smbclient permite acesso remoto a arquivo/sistemas compartilhados, de maneira semelhante ao File Transfer Protocol (Protocolo de Transferência de Arquivo - FTP). Para acessar uma pasta compartilhada cujo nome é documentosem um computador Windows identificado na rede como bill utilizando smbclient por exemplo, utilize o comando a seguir em um Terminal:

smbclient //bill/documents -U <nomeusuário>

Você será perguntado pela senha do usuário especificado após a opção -U, e após uma autenticação com sucesso, será mostrado um prompt onde os comandos devem ser inseridos para manipular e transferir arquivos com uma sintaxe similar à usada nos clientes FTP não gráficos. Para mais informações no utilitário smbclient leia a página de manual com o comando:

man smbclient

A montagem local de recursos remotos utilizando o protocolo SMB é possível também usando o programasmbfs.

Para montar um diretório compartilhado com nome project-code em um servidor Windows com nome development como usuário dlightman no ponto de montagem /mnt/pcode do seu sistema Ubuntu (o ponto de montagem que você escolher deve ser um diretório vazio), você deve digitar o seguinte comando no prompt:

sudo mount -t smbfs -o username=dlightman //development/project-code /mnt/pcode

Automaticamente lhe será solicitado a senha do usuário, e uma vez que a autenticação foi bem sucedida, o conteúdo compartilhado estará disponível localmente no ponto de montagem especificado como o último argumento ao comando mount. Para desconectar o conteúdo compartilhado, basta usar o comando umount para qualquer sistema de arquivos montado. Exemplo:

sudo umount /mnt/pcode

Contas de Usuários

Contas de Usuários definem pessoas com algum nível de autorização para usar certo computador e conteúdo de rede. Tipicamente, num ambiente de rede, uma conta de usuário é fornecida a cada pessoa permitido acessar um computador ou rede, onde diretrizes e permissões definem que direitos explícitos essa conta de usuário tem acesso. Para definir usuários da rede SAMBA em seu sistema Ubuntu, você pode utilizar o comando smbpasswd. Por exemplo, para adicionar o usuário pedro a rede SAMBA de seu sistema Ubuntu, utilize o comando:

sudo smbpasswd -a jseinfeld

O aplicativo smbpasswd solicitará que você entre com uma senha para o usuário:

Nova senha SMB:

Entre com a nova senha para o usuário e, em seguida, o aplicativo smbpasswd solicitará que você confirme a senha:

Repita a nova senha SMB:

Confirme a senha e o aplicativo smbpasswd adicionará o usuário ao arquivo de senhas do SAMBA.

Grupos

Os grupos definem uma relação de computadores ou usuários que têm um nível comum de acesso a recursos particulares da rede e oferece um nível detalhado para controlador o acesso a tais recursos. Por exemplo, se o grupo qa contem os usuários freda, danika e rob e um segundo grupos support contem os seguintes usuários danika, jeremy e vincent em seguida, certos recursos da rede podem ser configurados para que o grupo qa seja acessível por freda, danika e rob, mas não por jeremy ou vincent. Desde que o usuário danika pertença a ambos os grupos qa e support, ela será capaz de acessar recursos de ambos os grupos, ao passo que todos os outros usuários terão acesso a recursos explicitamente permitidos ao grupo de que fazem parte.

Quando for definir grupos no arquivo de configuração do SAMBA, /etc/samba/smb.conf a sintaxe para identificar o nome do grupo deve iniciar com o símbolo "@". Por exemplo, se deseja definir um grupo chamado sysadmin vá até a seção referente em /etc/samba/smb.conf e adicione o nome do grupo da seguinte maneira: @sysadmin.

Políticas do Grupo

Políticas de Grupo define certos ajustes de configuração do SAMBA pertencentes ao Domínio ou contas de computador do Grupo de Trabalho (workgroup), além de outros ajustes globais para o servidor SAMBA. Por exemplo, se o servidor SAMBA pertencer ao Grupo de Trabalho do Windows chamado NÍVELUM, então o arquivo /etc/samba/smb.conf deve ser editado, alterando os valores da seguinte maneira:

workgroup = NÍVELUM

Salve o arquivo e reinicie os "daemons" do SAMBA para que as mudanças tenham efeito.

Outros ajustes importantes da política global incluem a seqüência servidor que define o nome do servidor NETBIOS informado por seu sistema Ubuntu a outras máquinas fundamentadas na rede Windows. Este é o nome ao qual seu sistema Ubuntu será reconhecido na rede por clientes Windows e demais computadores capazes de navegar com o protocolo do SMB. Adicionalmente, você pode especificar o nome e a localização do arquivo de registro (log file) do servidor SAMBA manuseando a diretiva log file no arquivo de configuração /etc/samba/smb.conf.

Algumas diretrizes adicionais que governam as políticas globais de um grupo, incluem a descrição detalhada da natureza global de todos recursos compartilhados. Por exemplo, colocar certas diretrizes na seção [global] do arquivo /etc/samba/smb.conf afetará todos os recursos compartilhados a menos que uma diretriz primordial seja colocada sob um particular cabeçalho de compartilhamento de recurso. Você pode especificar tudo que for passível de compartilhamento a qualquer cliente que participe da rede alterando a diretriz browseable, o qual toma uma lógica Booleana, que deve ser adicionada/modificada na seção [global] do arquivo /etc/samba/smb.conf. Ou seja, altere o arquivo adicionando a linha:

browseable = true

abaixo da seção [global] em /etc/samba/smb.conf, então todo o conteúdo fornecidas por seu sistema Ubuntu via SAMBA serão browseable (navegáveis) por todos os clientes autorizados, a menos que uma parte específica contenha uma diretriz browseable = false, a qual sobrescreverá a diretriz global.

Outros exemplos de comando que trabalham de maneira semelhante, são as diretrizes public e writeable. A diretriz public fornece um valor Booleano (sistema combinatório lógico) que define se um usuário qualquer e/ou todos os clientes da rede compartilham recurso de gravação (writable) .