Quando menciono no título que irei iniciar, reiniciar e parar o samba por usando o comando systemctl quero dizer que estaremos usando o systemd para gerenciar o samba.
Após compilado, o Samba não cria automaticamente um arquivo para ser gerenciado pelo systemd. Se você instalar o samba por um gerenciador de pacotes como apt, yum dnf… você terá dentro de systemd um serviço criado automaticamente pelo gerenciador de instalação que usou, mas esse não é o caso para o samba compilado através dos comandos configure, make e make install.
Criando o Serviço do Samba no systemd
#1 use editores como vim ou nano para criar e editar um arquivo chamado samba.service em /etc/systemd/system/
Na verdade, o nome do arquivo pode ser qualquer um, não precisamente ser samba.service; poderia ser samba4.service…
o “.service” você terá que manter para não sair do padrão do systemd.
Abaixo usarei o vim.
vim /etc/systemd/system/samba.service
#2 Digite ou copie e cole o seguinte conteúdo,
[Unit] Description=Samba Active Directory Domain Controller After=network.target remote-fs.target nss-lookup.target [Service] Type=forking ExecStart=/usr/local/samba/sbin/samba -D PIDFile=/usr/local/samba/var/run/samba.pid ExecReload=/bin/kill -HUP $MAINPID [Install] WantedBy=multi-user.target
#3 Salve e saia da edição do aquivo. Execute o seguinte comando para aplicar as alterações
systemctl daemon-reload
Usando systemd para gerenciar o samba
Agora podemos usar os seguintes comandos
- para o samba iniciar automaticamente: systemctl enable samba
- desabilitar o início automático: systemctl disable samba
- iniciar o samba manualmente: systemctl start samba
- parar o samba manualmente: systemctl stop samba
Por que você não usa apt ou dnf para instalar o samba já que ele traria o samba no systemd automaticamente?
Em diversos posts falo do porquê compilar o samba ao invés de instalá-lo com ferramentas como apt ou dnf. Quando instalamos, ao invés de compilar, temos alguns desvantagens:
- Sua distribuição trará pacotes desatualizados ao invés da mais nova.
- ou não existir nenhum pacote disponível para nossa distro ou sistema operacional. A compilação serve para qualquer distro.
- você terá que depender do desenvolvedor do pacote para aplicar um patch para corrigir um problema antes que uma nova versão seja lançada
Também, já falei em um post denominado “O que não fazer ao Implantar o Samba?“,
Para compilar um programa usamos, geralmente, comandos como ./configure, make e make install. Compilar pode ser mais demorado e um pouquinho mais chato. Mas tem suas vantagens quando comparado com instalar usando comandos coo dnf, apt, yum…
Primeiramente, o samba tem uma nova release(versão completa) a cada 18 meses e, com quase 100% de certeza, você não terá a versão mais atual ao instalar com gerenciadores de pacotes do tippo dnf, yum ou apt.
Para compilar, baixamos o pacote do samba mais novo diretamente do site samba.org.
Ao instalar(apt, dnf, yum…) você, além de não ter a mais nova versão, e em muitos casos terá uma versão bem antiquada, você dependerá sempre do mantenedor do pacote para ter patches, correções ou atualizações.
Sem falar que muitos pacotes instaladores do samba não instalam um samba com as funções importantes. Terá distro que trará um samba para ser membro de um domínio e não trará a função de DC(Controlador de Domínio) AD(Active Directory). Mas como assim um membro do domínio? Sabe quando você tem o domínio já pronto e vai adicionar/cadastrar um Windows 7 ou 10 ou 11 ao domínio, de forma que você possa logar nesse Windows usando um usuário do Domínio? Esse Windows é apenas um membro, ele não atua como DC ou AD. Há distros, como a Red Hat, CentOS e demais derivados, que não trazem o samba instalado como AD DC.
, você deve criar manualmente o arquivo de serviço para permitir que o systemd gerencie o serviço Samba AD DC:
Comment on “Samba: Usando Systemctl para Iniciar, Reiniciar e Parar”