Skip to content

OgliariNatan/servidor-file-samba4

Repository files navigation

Repositório com arquivos de configuração do servidor de arquivos.

Um pequeno manual de como configurar um servidor de arquivos com acesso por user&password com o .

Autorizar as porta e instalando o ssh

  • sudo apt install openssh-server
  • sudo service ssh start
  • ufw allow ssh | ufw allow 22 #porta do samba (22)

Alterando para IP estático, no ubuntu server 22.04 📋 🏥

  • Altere o arquivo cd /etc/netplan/
  • antes de qualquer coisa crie um backup do arq existente.
  • sudo cp *.yaml *.yam.old
  • Após abra o arquivo:
  • sudo nano *.yaml em exemplo de como ficará:
 # This is the network config written by 'subiquity'
network:
   version: 2
   renderer: networkd
   ethernets:
      enp2s0:
         dhcp4: false
         dhcp6: no
         addresses: [20.40.22.1/24]
         routes:
             - to: default
               via: 20.40.22.254
         #gateway4: 20.40.22.254
         nameservers:
            addresses: [8.8.8.8,8.8.4.4]

[ ] Cuide da identação, que deverá se com espaços em vez de tab.
[ ] Observe que o comando gateway4: é obsoleto em vez disso utilize o routes:.

Aplicando alteração

  • Testendo a sintexe do arquivo

    sudo netplan try
    
  • Aplicando as configurações

    sudo netplan apply
    
  • Verificando as configurações

    ip addr show
    

Alterando a porta ssh

  • nano /etc/ssh/sshd_config
  • alterar a linha Port xx (nova porta)
  • ufw allow xx (nova porta)
  • ufw deny 22
  • service sshd restart

smb.conf

Arquivo de configuração do samba.

Adicionando usuários

Cria-se usuários normais no e adiciona ao .
pdbedit -L -v | grep username

  • sudo useradd [nome_usuario] ⇨ Cria usuario no linux.
  • sudo smbpasswd -a [nome_usuario] ⇨ add usuários ao e especifica uma senha
  • sudo smbpasswd -U [nome_usuario] ⇨ Altera senha
Curiosidade

sudo adduser --no-create-home --disabled-login {NAME_USER}

usermod -e [data_expiração AAAA-MM-DD] [NAME_USER]

sudo chage -E [AAAA-MM-DD] [NAME_USER] ⇨ Configura a expiração de senha.

usermod -aG [nome_do_grupo] [nome_do_usuário_que_deseja_adicionar_ao_grupo]

pdbedit -L -v | grep username ⇨ Lista usuarios

Grupos

sudo cat /etc/group ⇨ Lista os grupo

sudo grupoadd samba ⇨ Cria o grupo

sudo chown -R servidor:samba /dir_com

sudo usermod -aG grupo1,grupo2 usuario ⇨ Adiciona em varios grupos

sudo groups usuario ⇨ Verifica os grupos membros

Alterando o arquivo $sudoers sudo visudo
Defaults lecture="never"
Defaults lecture_file="/docs/lecture/msg.txt"

Defaults secure_path="/usr/local/sbin:.....:ADD_DIR_SCRIPTY"

user ALL=(ALL:ALL) ALL ⇨ add_user

user ALL=NOPASSWD:/home/servidor/Documentos/rotina_backup.sh, /home/servidor/Documentos/delete_file_olds.sh ⇨ Executa estes scripty se a solicitação da senha.

add_user_samba.sh

Scripty para adicionar usuários ao samba

rotina_backup.sh

Implementação de uma rotina de uma automação de backup de arquivos compartilhados com o samba.
/media/servidor/backup ⇨ Diretório da pasta backup.
chmod u+x rotina_backup.sh ⇨ Habilita o scripty como executável.
chown root:root rotina_backup.sh ⇨ Muda o dono do arquivo e executa com root.

auditsamba.conf

Arquivo que irá conter as especificações para a auditoria e o local do registro.

Criar um arquivo em:

  • /etc/rsyslog.d/auditsamba.conf

Para apagar os registro de LOGIN no WIN

  • net use * /delete /y

Para auditoria em tempo real

  • tail -f /var/log/syslog

Testando a configuração do

  • testparm ⇨ Realiza o teste do arquivo smb.conf

Reiniciando as configurações

Após toda e qualquer alteração, é necessário reiniciar os processos.

sudo systemctl restart smbd.service
sudo systemctl restart nmbd.service
sudo systemctl restart syslog

Autorizando a execução do arquivo de rotina_backup.

  • crontab -e

0 0 * * 7 /home/servidor/Documentos/rotina_backup.sh
0 0 * * 7 /home/servidor/Documentos/delete_file_olds.sh
⇨ use sudo crontab -e ctrl+o ⇨ Salva o arquivo cro

Para verificação na máquina

  • df -h ⇨ Uso da ROM
  • du -h pasta ⇨ Tamanho da pasta

Para montar discos

  • sudo fdisk -l ⇨ Lista os discos com o caminho
  • lsblk ⇨ Lista os discos na máquina
  • sudo mount /caminho_do_disco /caminho_da_pasta_a_ser_montada

Ver última reiniciação

  • who -b ⇨ Última inicialização do sistema.

  • uptime -p ⇨ Tempo de operação.

    Para melhoria

    O backup esta sendo realizado pelo tar, implementar com o rync

  • diario, atualiza

rsync -artvu /dir_origem /dir_destino
  • semanal 🌐
  rsync -ar /dir_origem /dir_destino 
    rsync -a -r -v usuario@IP:home/servidor/Área\ de\ Trabalho/Compartilhamento/ /home/servidor/Compartilhados/
  • Para VER::: rsync -ar --delete --backup --backup-dir=/dir_backup /dir_origem /dir_destino
   tar -tvf /dir_arq/name_bk.tar.gz