Linux, Network, Samba

Trabalho Final UFCD 5111

Instalar e configurar o Samba em um servidor Ubuntu 20.04.

O servidor terá 4 interfaces de rede:

  1. NAT – para acesso à internet para a instalação de pacotes;
  2. Rede 172.16.12.0/24, com o IP 172.16.12.1 (intnet)
  3. Rede 10.159.12.0/24, com o IP 10.159.12.1 (PotatoNet)
  4. Rede 10.253.12.0/24, com IP 10.253.12.1 (PotatoNetCore)

Em um disco à parte, particionado apropriadamente, criar as seguintes partilhas:

  • projects
  • docs
  • repository
  • accounting
  • backups
  • management

As partilhas devem ter as seguintes características:

  • Os mountpoints das partilhas devem pertencer a um grupo do mesmo nome;
  • As partilhas devem ter a opção locking = yes;
  • As partilhas devem ficar em /mnt/prosamba12;

Serão necessários 5 users, não de sistema, mas do Samba:

  • Linda
  • Stacey
  • Stuart
  • John
  • Mike

Com as seguintes permissões:

Tabela de partilhas e permissões
Tabela de partilhas e permissões

As partilhas poderão apenas ser acessadas através de redes específicas:

  • PROJECTS, DOCS e REPOSITORY serão acessíveis para clientes da rede 172.16.12.0/24;
  • ACCOUNTING através da rede 10.159.12.0/24.

 

O servidor tem as suas interfaces de rede configuradas da seguinte maneira:

Interfaces
Interfaces

E aqui podemos ver o disco onde as partilhas se encontram:

Shares
Shares

Os users que irão acessar as partilhas e os grupos que pertencem:

Users
Users
Users Groups
Users Groups

A lista das partilhas e as configurações no smb.conf:

Share List
Share List
Shares
Shares
Shares
Shares
Shares
Shares

Acessando a partilha ACCOUNTING de um cliente Windows com o user stacey.

Stacey accessing Acounting
Stacey accessing Acounting

Agora do lado do servidor.

Accounting Server-side
Accounting Server-side

Acessando a partilha PROJECTS através de um cliente linux utilizando o user mike.

Mike projects
Mike projects

E do lado do servidor.

Mike projects Server-side
Mike projects Server-side

Montando automaticamente as partilhas em um cliente Linux utilizando um arquivo com as credenciais para a autenticação.

fstab
fstab

O user stuart não tem permissões para escrever na partilha DOCS, mas tem permissões nas outras.

Stuart permissions
Stuart permissions

Do lado do servidor.

Stuart Server-side
Stuart Server-side

E se mudarmos a rede em que esse cliente se encontra, não poderemos acessar as partilhas que estão restritas apenas à rede 172.16.12.0/24.

Unable to mount
Unable to mount

Entretanto, a partilha BACKUPS continua disponível.

Stuart backup Server-side
Stuart backup Server-side

Instalar e configurar o Zabbix

Instalar o repo do zabbix:

wget https://repo.zabbix.com/zabbix/5.4/ubuntu/pool/main/z/zabbix-release/zabbix-release_5.4-1+ubuntu20.04_all.deb
sudo dpkg -i zabbix-release_5.4-1+ubuntu20.04_all.deb
sudo apt update

Instalar Zabbix e dependências:

sudo apt install zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-sql-scripts zabbix-agent mysql-server

Criar a base de dados inicial:

sudo mysql -uroot -p
mysql> create database finalDB character set utf8 collate utf8_bin;
mysql> create user finaluser@localhost identified by 'Passw0rd';
mysql> grant all privileges on finalDB.* to finaluser@localhost;
mysql> quit;

Depois de criada a base de dados é preciso criar a sua estrutura:

sudo zcat /usr/share/doc/zabbix-sql-scripts/mysql/create.sql.gz | mysql -ufinaluser -p finalDB

Depois disso é preciso alterar o arquivo de configuração do Zabbix para ele possa se conectar à base de dados, para isso será preciso fazer algumas alterações.

Altere essas duas linhas:

DBName=zabbix
DBUser=zabbix

Para que fiquem assim:

DBName=finalDB
DBUser=finaluser

E logo abaixo adicione a seguinte linha:

DBPassword=Passw0rd

Depois disso reinicie e se certifique que os serviços do Zabbix e apache estão ativos:

sudo systemctl restart zabbix-server zabbix-agent apache2
sudo systemctl enable zabbix-server zabbix-agent apache2

Depois disso vamos verificar se os serviços do Apache2, MySQL e Zabbix estão ativos:

Apache2 active
Apache2 active
MySQL active
MySQL active
zabbix-server active
zabbix-server active
zabbix-agent active
zabbix-agent active

Com isso já podemos acessar a interface web e terminar a configuração.

Zabbix config
Zabbix config
DB connection
DB connection
Server details
Server details
Summary
Summary

E com isso já podemos acessar a Dashboard.

Web interface
Web interface

Vamos agora criar um novo user.

Add new user
Add new user
All users
All users

Agora é preciso adicionar os clientes que serão monitorados, vamos começar pelo Ubuntu Desktop.

Add linux client
Add linux client

Na aba Templates é preciso selecionar o template adequado ao cliente, nesse caso será Linux by Zabbix Agent.

E aqui podemos ver que o cliente já está disponível.

Linux cliente available
Linux cliente available

E podemos verificar o uso de CPU e RAM.

CPU RAM usage
CPU RAM usage

Vamos repetir o processo para um cliente Windows 10.

Add Windows client
Add Windows client
Windows client available
Windows client available
CPU RAM usage
CPU RAM usage

E agora para um cliente Centos 8.

Add Centos 8 client
Add Centos 8 client
Centos 8 available
Centos 8 available
Default graphs for Centos
Default graphs for Centos
Network graph
Network graph

Vamos agora criar dashboards para os clientes e para o servidor.

Ubuntu Dashboard
Ubuntu Dashboard
Windows Dashboard
Windows Dashboard
Centos Dashboard
Centos Dashboard
Ubuntu Server Dashboard
Ubuntu Server Dashboard

E com isso concluímos a configuração básica do Zabbix.