L’interfaçage avec l'orchestrateur de sauvegarde (service bareos-dir) se fait via la console bareos bconsole. Cette console est installée par défaut localement sur le serveur mais peut être installée sur n'importe quelle machine du réseau.
La documentation officielle propose des scripts pour ajouter le dépôt Bareos sous Ubuntu:
Depuis une console en root, ajouter le dépôt correspondant à la distribution et à la version souhaitée de Bareos:
DIST=xUbuntu_14.04 RELEASE=release/18.2 URL=http://download.bareos.org/bareos/$RELEASE/$DIST printf "deb $URL /\n" > /etc/apt/sources.list.d/bareos.list wget -q $URL/Release.key -O- | apt-key add -
Installer seulement la console:
sudo apt-get update sudo apt-get install bareos-bconsole
Les installateurs 32/64 bits sont disponibles à l'URL http://download.bareos.org/bareos/release/18.2/windows/
Le fichier de configuration /etc/bareos/bconsole.conf contient au minimum la définition de la ressource Director avec les enregistrements (records) suivants obligatoires pour communiquer avec le Director:
Name | UID du Director, plusieurs Directors peuvent être définis. |
---|---|
Address | FQDN ou IP de l'hote à contacter hébergeant le service Director (bareos-dir) |
Password | Clé (ou hachage MD5) que doit présenter la console pour s'authentifier auprès du Director. La valeur a été définie dans le fichier de configuration du Director (/etc/bareos/bareos-dir.d/director/bareos-dir.conf) et doit être copiée ici. |
Sans définition complémentaire, la console utilisée par défaut est la console d'administration. Pour utiliser une console restreinte, il faut créer la ressource côté Director (/etc/bareos/bareos-dir.d/console/
) puis déclarer explicitement son utilisation ici via la déclaration d'une ressource Console
Ci-dessous un exemple de configuration pour une connexion avec la console d'administration
# Paramètres de connexion au Director Director { Address = bareos.example.domain Name = "bareos-dir" Password = "[md5]33abbcfcf3eb25dda60038e776fc0ffe" }
Exemple de configuration utilisant une console restreinte nommée “ma-console”:
# Paramètres de connexion au Director Director { Address = bareos.example.domain Name = "bareos-dir" Password = "[md5]33abbcfcf3eb25dda60038e776fc0ffe" } # Console à utiliser Console { Name = "ma-console" Password = "[md5]67ad078c8c99532829b70011bcbaba02" }
# Ajoute l'utilisateur aUser au groupe bareos sudo usermod --append -G bareos aUser # Définit temporairement bareos en groupe principal pour l'utilisateur courant (aUser) newgrp bareos
La bconsole doit pouvoir joindre le service director sur son port (par défaut 9101). Ci-dessous un exemple de règle temporaire avec nftables :
nft -ai # Autorise la connexion sortante vers le director à l'adresse 192.168.0.10 add rule aTable aOutboundChain position 47 ct state new ip daddr 192.168.0.10 tcp dport 9101 log prefix "[FW] [ACCEPT] [RID=70] " level notice counter accept comment "Autorise console Bareos"
Il est possible de définir plusieurs consoles coté Director et de spécifier finement les commandes exécutables par chacune d'entre-elles.
Coté Director définir une ressource Console dans un fichier de configuration dédié dans le dossier /etc/bareos/bareos-dir.d/console
Console { Name = "ma-console" Password = "ExamplePassWord" JobACL = *all* StorageACL = storage01-sd ScheduleACL = *all* PoolACL = *all* # FileSetACL = "Restricted Client's FileSet" CatalogACL = MyCatalog CommandACL = list,show,estimate,status }
Recharger la configuration puis vérifier que la configuration active du Director contient bien la console:
* reload * show consoles
Tester la syntaxe du fichier de configuration:
bconsole -t
En cas d’échec de connexion, il est possible d'augmenter le niveau de verbosité via l'option -d (debug) avec 50 =< d =< 200:
bconsole -d 50
Les messages retournés par la commande sont présentés ci-dessous:
Connecting to Director bareos.mairie.local:9101 bconsole (50): lib/tls_openssl.cc:64-0 Preparing TLS_PSK CLIENT context for identity R_CONSOLE monitor bconsole (50): lib/crypto_openssl.cc:1579-0 jcr=0 Connect failure: ERR=error:140943FC:SSL routines:ssl3_read_bytes:sslv3 alert bad record mac bconsole (50): lib/bsock.cc:669-0 TLS negotiation failed Failed to connect to Director. Giving up.
Le Director est bien contacté:
identity R_CONSOLE monitor
Si plusieurs ressources Director ont été définies elles peuvent être listées avec l'option -l:
bconsole -l
Pour spécifier quelle connexion utiliser:
bconsole -D bareos-dir
Sur les consoles restreintes, il faut explicitement autoriser les commandes disponibles. L’auto-complétion est fournie par des commandes spécifiques commençant par le caractère “.” Le guide du développeur Bareos fournit quelques informations concernant ces fonctions à l'URL https://docs.bareos.org/DeveloperGuide/api.html#dot-commands
Notamment:
.help | Permettre l'auto-complétion sur les commandes autorisées. |
---|---|
.jobs | Permettre l'auto-complétion sur les tâches. |
.clients | Permettre l'auto-complétion sur les clients Bareos. |
.defaults | Permettre l'auto-complétion sur les principales ressources |