Precisando criar um compartilhamento no rocky linux com samba ?
Confira nesse tutorial toda a informação técnica para executar a tarefa em poucos minutos.
Além de compartilhar arquivos no rocky linux com samba, também será ensinado: a instalação do samba, Atribuição de permissões a pasta compartilhada e a configuração do SELinux e firewall para autorizar o acesso ao compartilhamento.
Pré-requisitos
Antes de prosseguir é necessário ter:
- Rocky Linux versão 9 ou 10 instalado no servidor.
- Conexão com a internet.
- Acesso a conta de usuário root.
Certifique-se ter todos esses pré-requisitos para começar a colocar em prática o conhecimento técnico para compartilhar arquivos no rocky linux com samba.
Instalando o samba no rocky linux
No servidor que tem o rocky linux instalado basta instalar o pacote samba, que está disponível a partir dos repositórios oficiais.
A instalação é feita executando o comando:
dnf install samba -yApós instalar o samba, configure o sistema para iniciar daemon smbd durante o boot.
systemctl enable --now smb.serviceA opção --now do comando systemctl inicia a unit (smb.service) imediatamente.
IMPORTANTE
Somente a unit smb.service é iniciada porque ela controla a inicialização do daemon smbd que é responsável pelo gerenciamento dos compartilhamentos e autenticação.
Criando diretório e atribuindo permissões de acesso
É necessário criar o diretório que compartilhará arquivos com outros computadores na rede, no exemplo, do tutorial o diretório é o /mnt/dlncloud.
mkdir /mnt/dlncloudSe o diretório que vai compartilhar já existir, pode ignorar o comando anterior.
O acesso ao compartilhamento será concedido aos usuários membros do grupo sambashares. Crie o grupo no sistema executando o comando groupadd.
groupadd sambasharesPara delegar as permissões de acesso, atribua como proprietário o usuário root e sambashares como grupo proprietário do diretório compartilhado (no exemplo /mnt/dlncloud):
chown root:sambashares /mnt/dlncloudE as permissões configuradas no diretório serão 2770.
chmod 2770 /mnt/dlncloudAssim o usuário proprietário (root) e o grupo proprietário (sambashares) terá controle total no compartilhamento.
A permissão representada pelo número 2 (SGID) faz com que qualquer arquivo ou diretório criado dentro do compartilhamento herdará o grupo proprietário (sambashares) do compartilhamento.
Caso precise entender como as permissões funcionam em arquivos e diretórios do sistema, recomendo a leitura do artigo completo sobre permissões no linux.
Configuração do SELinux para autorizar acesso
O diretório (mnt/dlncloud) que será compartilhado deve ter um tipo de contexto “samba_share_t” do SELinux para ser acessado a partir de clientes.
É necessário instalar o pacote “policycoreutils-python-utils”, esse pacote fornece o comando semanage, que será usado para fazer a configuração.
dnf install policycoreutils-python-utils -yApós o pacote está instalado, basta executar os dois comandos a seguir, substituindo “/mnt/dlncloud” pela localização do diretório que compartilhará.
semanage fcontext -a -t samba_share_t "/mnt/dlncloud(/.*)?"
restorecon -R /mnt/dlncloudO comando semanage adiciona (-a) uma nova regra ao banco de dados do SELinux e define um novo tipo (-t) de contexto (samba_share_t) ao diretório /mnt/dlncloud e a todo conteúdo interno.
O comando restorecon reaplica o contexto (samba_share_t) do banco de dados do SELinux recursivamente no diretório compartilhado.
Configuração do compartilhamento no rocky linux com samba
Para configurar o samba é necessário editar seu arquivo de configuração que fica na localização /etc/samba/smb.conf, renomeio para /etc/samba/smb.conf.ori:
mv -v /etc/samba/smb.conf /etc/samba/smb.conf.oriE agora crie um novo executando o comando:
vi /etc/samba/smb.confE adicione a seguinte configuração:
[global]
workgroup = SERVERS
security = user
[dlncloud]
path = /mnt/dlncloud
read only = no
create mask = 660
directory mask = 770
Após incluir essa configuração salve as alterações.
Explicações dos parâmetros de configuração em smb.conf:
[global]: Seção global, recebe todas as configurações aplicadas ao samba e a todos os compartilhamentos. Qualquer seção abaixo é um compartilhamento, [dlncloud] por exemplo é um compartilhamento.
workgroup: Recebe como valor o nome do grupo de trabalho, em ambientes do active directory é o nome netbios do domínio.
security: Nível de segurança, define como o samba vai autenticar os usuários conectados aos seus serviços, incluindo os compartilhamentos. O valor user, faz o samba tentar autenticar usando o banco de dados do próprio samba.
[dlncloud]: É o compartilhamento, o valor entre colchetes (dlncloud) é o nome do compartilhamento.
path: Recebe como valor a localização do diretório compartilhado, no exemplo, o diretório é /mnt/dlncloud.
read only: Recebe como valor “no” ou “yes”, quando o valor é “yes” define que qualquer acesso será somente de leitura, impedindo a gravação no compartilhamento. Quando o valor é “no” autoriza o acesso para leitura/gravação no compartilhamento.
create mask: Recebe como valor as permissões que serão concedidas para arquivos criados no compartilhamento.
directory mask: Recebe como valor as permissões que serão concedidas para diretórios criados no compartilhamento.
Para aprender mais sobre cada parâmetro é altamente recomendado a leitura do manual do arquivo smb.conf.
Agora é necessário fazer o daemon smbd relê e aplicar as configurações adicionadas em /etc/samba/smb.conf executando o comando:
smbcontrol smbd reload-configAdicionar usuário ao samba
Após configurar o compartilhamento no rocky linux com samba é necessário adicionar uma conta de usuário no samba que será usada para autenticação a partir do cliente.
Mas antes cadastre no linux um usuário com o mesmo nome do usuário do samba, no exemplo do tutorial, o nome do usuário é dlncloud:
useradd -s /bin/false -M -c “user service samba” dlncloudA opção -s define que o shell do usuário é /bin/false, a opção -M faz com que o diretório home não seja criado, o motivo é que o usuário vai ser usado apenas para acessar o compartilhamento a partir de um cliente, então não precisa de shell e nem pasta pessoal.
Com o usuário adicionado no sistema, adicione a mesma conta ao samba usando o comando smbpasswd com a opção -a.
smbpasswd -a dlncloud
E por fim, adicione a conta de usuário dlncloud ao grupo sambashares que é o grupo proprietário do diretório compartilhado.
usermod -aG sambashares dlncloudAdicionando ao firewall regras para acessar o samba
Por padrão o serviço de firewall (firewalld) do rocky linux bloqueia as conexões nas portas que o samba recebe conexões.
Para adicionar regras ao firewalld que autorizam acessos as portas do samba, execute os comandos:
firewall-cmd --add-service=samba
firewall-cmd --runtime-to-permanentO primeiro comando adiciona regras para permitir acesso ao samba, e o segundo salva as regras de forma persistente que estão na memória.
Testando acesso a partir do cliente windows
Após concluir a configuração do compartilhamento no rocky linux com samba, você pode testar a conexão a partir de um cliente windows.
Para fazer o acesso, abra o gerenciador de arquivos do windows, e digite na barra de endereço: \\IP_do_rocky linux\compartilhamento.
No exemplo do tutorial, o IP da máquina rocky linux é 192.168.213.77, então o endereço completo é:
\\192.168.213.77\dlncloud
Se o usuário do windows não tem o mesmo nome de usuário membro do grupo sambashares e a mesma senha cadastrada no samba, será solicitado autenticação (nome de usuário e senha do samba), após autenticação o acesso é autorizado.
Conclusão
Agora que sabe compartilhar arquivos com samba no rocky linux, você pode criar mais compartilhamentos e acessa-los a partir de qualquer computador da rede.
Também foi ensinado como configurar as permissões, firewall e o SELinux para ter acesso com mais segurança ao compartilhamento.
Ainda tem dúvidas ? escreva abaixo seu comentário, sua partição é muito importante.

