systemdjournalctl: consultar o diário do systemdudevCom o Samba, uma máquina Unix pode ser configurada como um servidor de arquivos e de impressão para máquinas Mac OS X, Windows e OS/2. O Samba se tornou um produto completo e bastante complexo. Configure o Samba com o YaST ou editando o arquivo de configuração manualmente.
A seguir são apresentados alguns termos usados na documentação do Samba e no módulo YaST.
O Samba usa o protocolo SMB (bloco de mensagens do servidor), que é baseado nos serviços NetBIOS. A Microsoft lançou o protocolo para que outros fabricantes de software pudessem estabelecer conexões com uma rede de domínio Microsoft. Com o Samba, o protocolo SMB opera acima do protocolo TCP/IP, de modo que este último precisa estar instalado em todos os clientes.
O protocolo CIFS (sistema de arquivos da Internet comuns) é outro protocolo que possui suporte no Samba. O CIFS é um protocolo de acesso padrão a sistemas de arquivos remotos para utilização pela rede, permitindo que grupos de usuários trabalhem juntos e compartilhem documentos pela rede.
NetBIOS é uma interface de software (API) projetada para a comunicação entre máquinas que fornecem serviço de nomes. Ele permite que máquinas conectadas à rede reservem nomes para si. Após a reserva, essas máquinas podem ser tratadas pelo nome. Não há um processo central para a verificação de nomes. Qualquer máquina da rede pode reservar quantos nomes quiser, contanto que os nomes não estejam em uso ainda. A interface NetBIOS pode ser implementada para diferentes arquiteturas de rede. Uma implementação que funciona com relativa proximidade com o hardware da rede é chamada de NetBEUI, mas ela muitas vezes é chamada de NetBIOS. Os protocolos de rede implementados com o NetBIOS são o IPX da Novell (NetBIOS via TCP/IP) e TCP/IP.
Os nomes de NetBIOS enviados por TCP/IP não possuem nada em comum com os nomes usados em /etc/hosts ou com os nomes definidos pelo DNS. O NetBIOS usa sua própria convenção de nomes independente. Contudo, é recomendável usar nomes que correspondam aos nomes de host DNS para facilitar a administração ou usar o DNS nativamente. Esse é o padrão usado pelo Samba.
O servidor Samba fornece serviços SMB/CIFS e serviços de nomeação NetBIOS por IP aos clientes. Para o Linux, existem três daemons para servidor Samba: smbd para serviços SMB/CIFS, nmbd para serviços de nomeação e winbind para autenticação.
O cliente Samba é um sistema que usa serviços Samba de um servidor Samba pelo protocolo SMB. Todos os sistemas operacionais comuns, como Mac OS X, Windows e OS/2, prestam suporte ao protocolo SMB. O protocolo TCP/IP precisa estar instalado em todos os computadores. O Samba oferece um cliente para as diferentes versões do Unix. No caso do Linux, há um módulo de kernel para SMB que permite a integração de recursos SMB no nível de sistema Linux. Não é necessário executar nenhum daemon para o cliente Samba.
Os servidores SMB oferecem recursos aos clientes por meio de compartilhamentos. Compartilhamentos são impressoras e diretórios com seus subdiretórios no servidor. Ele é exportado por meio de um nome e pode ser acessado pelo nome. O nome do compartilhamento pode ser definido como qualquer nome, não precisa ser o nome do diretório de exportação. Uma impressora também recebe um nome. Os clientes podem acessar a impressora pelo nome.
Um controlador de domínio (DC) é um servidor que gerencia contas em um domínio. Para a replicação de dados, os controladores de domínio adicionais estão disponíveis em um domínio.
Para instalar um servidor Samba, inicie o YaST e selecione › . Escolha › e selecione . Confirme a instalação dos pacotes necessários para concluir o processo de instalação.
Para configurar um servidor Samba, consulte a documentação do SUSE Linux Enterprise Server.
Os clientes somente podem acessar o servidor Samba via TCP/IP. O NetBEUI e o NetBIOS via IPX não podem ser usados com o Samba.
Configure um cliente Samba para acessar recursos (arquivos ou impressoras) no servidor Samba ou Windows. Digite o domínio NT ou Active Directory ou o grupo de trabalho na caixa de diálogo › . Se você ativar , a autenticação do usuário será executada no servidor Samba, NT ou Kerberos.
Clique em para ver as opções de configuração avançadas. Por exemplo, use a tabela para habilitar a montagem de diretório pessoal do servidor automaticamente com autenticação. Assim os usuários poderão acessar seus diretórios pessoais quando estiverem hospedados no CIFS. Para ver os detalhes, consulte a página de manual de pam_mount.
Após concluir todas as configurações, confirme a caixa de diálogo para terminar a configuração.
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 é gerenciada por um PDC (primary domain controller — controlador de domínio primário). Você pode usar um servidor Windows NT configurado como PDC, mas essa tarefa também pode ser executada com um servidor Samba. As entradas a serem feitas na seção [global] de smb.conf aparecem em Exemplo 23.1, “Seção global em smb.conf”.
[global]
workgroup = WORKGROUP
domain logons = Yes
domain master = Yes
É necessário preparar contas e senhas de usuários em formato de criptografia compatível com o Windows. Para isso, use o comando smbpasswd. Crie a conta de domínio dos computadores, exigida pelo conceito de domínio do Windows , com os seguintes comandos:
-a name
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.
add machine script = /usr/sbin/useradd -g nogroup -c "NT Machine Account" \
-s /bin/false %m\$
Para certificar-se de que o Samba possa executar esse script corretamente, escolha um usuário do Samba com as permissões de administrador necessárias e adicione-o ao grupo ntadmin. Em seguida, será possível atribuir 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
Esta seção apresenta técnicas mais avançadas para gerenciar a parte tanto do cliente quanto do servidor da suíte do Samba.
O Samba permite aos clientes manipular remotamente os flags de compactação de arquivos e diretórios para compartilhamentos localizados no sistema de arquivos Btrfs. O Windows Explorer oferece um recurso para marcar arquivos/diretórios para compactação transparente em › › caixa de diálogo:
Os arquivos marcados para compactação são compactados de forma transparente e descompactados pelo sistema de arquivos base quando acessados ou modificados. Isso normalmente resulta em economia na capacidade de armazenamento em detrimento do overhead extra da CPU ao acessar o arquivo. Os arquivos e diretórios novos herdam o flag de compactação do diretório pai, exceto quando criados com a opção FILE_NO_COMPRESSION.
O Windows Explorer apresenta os arquivos e diretórios compactados de forma visualmente diferente daqueles não compactados:
É possível habilitar a compactação de compartilhamentos Samba manualmente adicionando
vfs objects = btrfs
à configuração do compartilhamento em /etc/samba/smb.conf ou usando o YaST: › › e marcando .
Os instantâneos, também chamados de Cópias de Sombra, são cópias do estado do subvolume de um sistema de arquivos em determinado período. O Snapper é a ferramenta que gerencia os instantâneos no Linux. Os instantâneos são suportados no sistema de arquivos Btrfs ou em volumes LVM com aprovisionamento dinâmico. A suíte do Samba suporta o gerenciamento de instantâneos remotos por meio do protocolo FSRVP tanto no servidor quanto no cliente.
É possível expor os instantâneos do servidor Samba a clientes do Windows remotos como versões anteriores de arquivos ou diretórios.
Para habilitar instantâneos no servidor Samba, as seguintes condições devem ser atendidas:
O compartilhamento de rede SMB reside em um subvolume Btrfs.
O caminho do compartilhamento de rede SMB possui um arquivo de configuração do snapper relacionado. É possível criar o arquivo do snapper com
snapper -c <cfg_name> create-config /path/to/sharePara obter mais informações sobre o snapper, consulte o Capítulo 4, Recuperação de sistema e gerenciamento de instantâneos com o Snapper.
A árvore do diretório do instantâneo deve permitir o acesso de usuários relevantes. Para obter mais informações, consulte a seção PERMISSIONS (Permissões) da página de manual de vfs_snapper (man 8 vfs_snapper).
Para suportar instantâneos remotos, é necessário modificar o arquivo /etc/samba/smb.conf. Você pode fazer isso com o , em › , ou manualmente, incrementando a seção do compartilhamento relevante com
vfs objects = snapper
Observe que é necessário reiniciar o serviço Samba para que as mudanças manuais em smb.conf entrem em vigor:
systemctl restart nmb.service smb.service
Depois de configurados, os instantâneos criados pelo snapper para o caminho do compartilhamento Samba poderão ser acessados pelo Windows Explorer da guia de um arquivo ou diretório.
Por padrão, só é possível criar e apagar instantâneos do servidor Samba localmente, pelo utilitário de linha de comando snapper ou usando o recurso de linha do tempo do snapper.
É possível configurar o Samba para processar solicitações de criação e exclusão de instantâneos do compartilhamento de hosts remotos usando o FSRVP (File Server Remote VSS Protocol – Protocolo VSS Remoto do Servidor de Arquivos).
Além da configuração e dos pré-requisitos documentados em Seção 23.6.2.1, “Versões anteriores”, a seguinte configuração global é necessária no /etc/samba/smb.conf:
[global] rpc_daemon:fssd = fork registry shares = yes include = registry
Os clientes FSRVP, incluindo o rpcclient do Samba e o DiskShadow.exe do Windows Server 2012, podem instruir o Samba a criar ou apagar um instantâneo de determinado compartilhamento e o expor como um novo compartilhamento.
rpcclient #
O pacote samba-client inclui o cliente FSRVP que pode solicitar remotamente a um servidor Windows/Samba para criar e expor um instantâneo de determinado compartilhamento. Em seguida, é possível usar as ferramentas existentes no SUSE Linux Enterprise Server para montar o compartilhamento exposto e fazer backup de seus arquivos. As solicitações ao servidor são enviadas usando o binário rpcclient.
rpcclient para solicitar instantâneos de compartilhamento do Windows Server 2012 #
Conecte-se ao servidor win-server.example.com como administrador em um domínio EXAMPLE:
# rpcclient -U 'EXAMPLE\Administrator' ncacn_np:win-server.example.com[ndr64,sign] Enter EXAMPLE/Administrator's password:
Verifique se o compartilhamento SMB está visível para rpcclient:
rpcclient $> netshareenum netname: windows_server_2012_share remark: path: C:\Shares\windows_server_2012_share password: (null)
Verifique se o compartilhamento SMB suporta criação de instantâneo:
rpcclient $> fss_is_path_sup windows_server_2012_share \ UNC \\WIN-SERVER\windows_server_2012_share\ supports shadow copy requests
Solicite a criação de um instantâneo de compartilhamento:
rpcclient $> fss_create_expose backup ro windows_server_2012_share
13fe880e-e232-493d-87e9-402f21019fb6: shadow-copy set created
13fe880e-e232-493d-87e9-402f21019fb6(1c26544e-8251-445f-be89-d1e0a3938777): \
\\WIN-SERVER\windows_server_2012_share\ shadow-copy added to set
13fe880e-e232-493d-87e9-402f21019fb6: prepare completed in 0 secs
13fe880e-e232-493d-87e9-402f21019fb6: commit completed in 1 secs
13fe880e-e232-493d-87e9-402f21019fb6(1c26544e-8251-445f-be89-d1e0a3938777): \
share windows_server_2012_share@{1C26544E-8251-445F-BE89-D1E0A3938777} \
exposed as a snapshot of \\WIN-SERVER\windows_server_2012_share\Confirme se o compartilhamento de instantâneo foi exposto pelo servidor:
rpcclient $> netshareenum
netname: windows_server_2012_share
remark:
path: C:\Shares\windows_server_2012_share
password: (null)
netname: windows_server_2012_share@{1C26544E-8251-445F-BE89-D1E0A3938777}
remark: (null)
path: \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy{F6E6507E-F537-11E3-9404-B8AC6F927453}\Shares\windows_server_2012_share\
password: (null)Tente apagar o compartilhamento de instantâneo:
rpcclient $> fss_delete windows_server_2012_share \ 13fe880e-e232-493d-87e9-402f21019fb6 1c26544e-8251-445f-be89-d1e0a3938777 13fe880e-e232-493d-87e9-402f21019fb6(1c26544e-8251-445f-be89-d1e0a3938777): \ \\WIN-SERVER\windows_server_2012_share\ shadow-copy deleted
Confirme se o compartilhamento de instantâneo foi removido pelo servidor:
rpcclient $> netshareenum netname: windows_server_2012_share remark: path: C:\Shares\windows_server_2012_share password: (null)
DiskShadow.exe #
É possível gerenciar instantâneos de compartilhamentos SMB no servidor Samba do Linux do ambiente Windows agindo também como cliente. O Windows Server 2012 inclui o utilitário DiskShadow.exe, que gerencia compartilhamentos remotos parecidos com o rpcclient, descrito em Seção 23.6.2.3, “Gerenciando instantâneos do Linux remotamente com rpcclient”. Observe que é necessário primeiro configurar o servidor Samba com atenção.
Veja a seguir um exemplo do procedimento de configuração do servidor Samba para que o cliente do Windows Server possa gerenciar os instantâneos de seu compartilhamento. Observe que EXAMPLE é o domínio Active Directory usado no ambiente de teste, fsrvp-server.example.com é o nome de host do servidor Samba e /srv/smb é o caminho para o compartilhamento SMB.
Entre no domínio Active Directory pelo YaST.
Verifique se a entrada DNS do Domínio Ativo estava correta:
fsrvp-server:~ # net -U 'Administrator' ads dns register \ fsrvp-server.example.com <IP address> Successfully registered hostname with DNS
Criar subvolume Btrfs em /srv/smb
fsrvp-server:~ # btrfs subvolume create /srv/smb
Criar arquivo de configuração do snapper para o caminho /srv/smb
fsrvp-server:~ # snapper -c <snapper_config> create-config /srv/smb
Crie um novo compartilhamento com o caminho /srv/smb e a caixa de seleção do YaST habilitada. Adicione os seguintes trechos à seção global do /etc/samba/smb.conf, como mencionado em Seção 23.6.2.2, “Instantâneos de compartilhamentos remotos”:
[global] rpc_daemon:fssd = fork registry shares = yes include = registry
Reiniciar o Samba com systemctl restart nmb.service smb.service
Configure permissões do snapper:
fsrvp-server:~ # snapper -c <snapper_config> set-config \ ALLOW_USERS="EXAMPLE\\\\Administrator EXAMPLE\\\\win-client$"
Verifique se todos ALLOW_USERS também têm permissão de passagem no subdiretório .snapshots.
fsrvp-server:~ # snapper -c <snapper_config> set-config SYNC_ACL=yes
Tenha cuidado com os escapes ''\''! Inclua dois escapes para garantir que o valor armazenado em /etc/snapper/configs/<config_snapper> fique com apenas um escape.
"EXAMPLE\win-client$" corresponde à conta de computador cliente do Windows. O Windows emitirá as solicitações FSRVP iniciais enquanto estiver autenticado nessa conta.
Conceda os privilégios necessários para a conta de cliente do Windows:
fsrvp-server:~ # net -U 'Administrator' rpc rights grant \ "EXAMPLE\\win-client$" SeBackupPrivilege Successfully granted rights.
O comando anterior não é necessário para o usuário "EXAMPLE\Administrator", que já recebeu os privilégios.
DiskShadow.exe em ação #Inicialize o Windows Server 2012 (exemplo de nome de host WIN-CLIENT).
Entre no mesmo domínio Active Directory EXAMPLE do SUSE Linux Enterprise Server.
Reinicializar.
Abra o Powershell.
Inicie o DiskShadow.exe e comece o procedimento de backup:
PS C:\Users\Administrator.EXAMPLE> diskshadow.exe Microsoft DiskShadow version 1.0 Copyright (C) 2012 Microsoft Corporation On computer: WIN-CLIENT, 6/17/2014 3:53:54 PM DISKSHADOW> begin backup
Especifique para a cópia de sombra persistir após a saída, redefinição ou reinicialização do programa:
DISKSHADOW> set context PERSISTENT
Verifique se o compartilhamento especificado suporta instantâneos e crie um:
DISKSHADOW> add volume \\fsrvp-server\sles_snapper
DISKSHADOW> create
Alias VSS_SHADOW_1 for shadow ID {de4ddca4-4978-4805-8776-cdf82d190a4a} set as \
environment variable.
Alias VSS_SHADOW_SET for shadow set ID {c58e1452-c554-400e-a266-d11d5c837cb1} \
set as environment variable.
Querying all shadow copies with the shadow copy set ID \
{c58e1452-c554-400e-a266-d11d5c837cb1}
* Shadow copy ID = {de4ddca4-4978-4805-8776-cdf82d190a4a} %VSS_SHADOW_1%
- Shadow copy set: {c58e1452-c554-400e-a266-d11d5c837cb1} %VSS_SHADOW_SET%
- Original count of shadow copies = 1
- Original volume name: \\FSRVP-SERVER\SLES_SNAPPER\ \
[volume not on this machine]
- Creation time: 6/17/2014 3:54:43 PM
- Shadow copy device name:
\\FSRVP-SERVER\SLES_SNAPPER@{31afd84a-44a7-41be-b9b0-751898756faa}
- Originating machine: FSRVP-SERVER
- Service machine: win-client.example.com
- Not exposed
- Provider ID: {89300202-3cec-4981-9171-19f59559e0f2}
- Attributes: No_Auto_Release Persistent FileShare
Number of shadow copies listed: 1Conclua o procedimento de backup:
DISKSHADOW> end backup
Após criar o instantâneo, tente apagá-lo e confirme a exclusão:
DISKSHADOW> delete shadows volume \\FSRVP-SERVER\SLES_SNAPPER\
Deleting shadow copy {de4ddca4-4978-4805-8776-cdf82d190a4a} on volume \
\\FSRVP-SERVER\SLES_SNAPPER\ from provider \
{89300202-3cec-4981-9171-19f59559e0f2} [Attributes: 0x04000009]...
Number of shadow copies deleted: 1
DISKSHADOW> list shadows all
Querying all shadow copies on the computer ...
No shadow copies found in system.
A documentação do Samba acompanha o pacote samba-doc, que não é instalado por padrão. Instale-o com zypper install samba-doc. Digite apropos samba na linha de comando para exibir algumas páginas de manual ou procure por mais documentações e exemplos online no diretório /usr/share/doc/packages/samba. Encontre uma configuração de exemplo comentada (smb.conf.SUSE) no subdiretório examples. O outro arquivo no qual procurar informações relacionadas ao Samba é /usr/share/doc/packages/samba/README.SUSE.
O HOWTO do Samba (consulte https://wiki.samba.org), fornecido pela equipe Samba, inclui uma seção sobre solução de problemas. Além disso, a Parte V do documento oferece um guia passo a passo para a verificação da configuração.