4.3 Serveur des Utilitaires Calculate¶
- 4.3 Serveur des Utilitaires Calculate
- Introduction
- Débuter. Créer un certificat
- Faire signer le certificat généré par un autre Serveur des utilitaires
- Créer un certificat auto-signé
- Lancer le Serveur des utilitaires
- Utiliser le Serveur
- Gérer les requêtes et les certificats
- Lancer des processus localement
- Divers
- Méthodes standard du Serveur
Introduction¶
Le Serveur des utilitaires Calculate Core sert à exécuter des méthodes d'utilitaires, notamment l'installation, la configuration système, etc. ; à donner l'accès réseau aux clients Calculate (cl-console и cl-console-gui) via le protocole sys-apps/calculate-core
.
Débuter. Créer un certificat¶
Pour pouvoir lancer le Serveur, vous devez créer un certificat. Vous avez le choix entre :- générer une requête de signature de certificat et faire signer le certificat par un autre serveur ;
- créer un certificat racine auto-signé pour l'utiliser comme certificat serveur par la suite.
En gros, il vous faut le certificat serveur pour faire démarrer le Serveur, et le certificat racine auto-signé pour pouvoir signer les certificats émanant d'autres serveurs.
Faire signer le certificat généré par un autre Serveur des utilitaires¶
Pour générer une clé privée et une requête, aussi bien que pour envoyer la requête au Serveur, utilisez la commande :
cl-core --gen-cert-by <hôte> --port <port>où <hôte> est l'adresse réseau du Serveur des utilitaires et <port> est le port qui écoute le Serveur (8888 par défaut).
Par exemple :
cl-core --gen-cert-by 192.168.0.123 --port 4567
Une fois le certificat signé par le Serveur, vous devez le récupérer en exécutant :
cl-core --get-cert-from <hôte_root> --port <port>où <hôte_root> est l'adresse réseau du Serveur, <port> est le port qui écoute le Serveur (8888 par défaut).
Par exemple :
cl-core --get-cert-from 192.168.0.123 --port 4567
Créer un certificat auto-signé¶
Pour créer un certificat racine auto-signé, utilisez la commande
cl-core --gen-root-cert
Pour utiliser ce certificat comme certificat serveur, exécutez :
cl-core --use-root-as-server
Lancer le Serveur des utilitaires¶
Une fois le certificat généré, vous pouvez lancer le Serveur en tapant
cl-core --start
Par défaut, le Serveur écoutera le port 8888. Utilisez l'option --port
pour spécifier un autre port, comme suit :
cl-core --start --port 5648
Pour lancer le Serveur en mode débogage, utilisez l'option --debug
.
Utiliser le Serveur¶
Gérer les requêtes et les certificats¶
Visualiser des requêtes et des certificats
Plusieurs actions peuvent être faites directement sur le Serveur, sans recourir aux clients ; par contre, vous allez devoir passer root avant de procéder.
Pour visualiser les requêtes clients, utilisez l'option --show-request
en lui passant comme argument l'identifiant de la requête qui vous intéresse ou encore « all
» pour voir toutes les requêtes soumises. Voici deux exemples :
cl-core --show-request all cl-core --show-request 2
Pour visualiser les certificats clients signés, utilisez l'option --cert
en lui passant comme argument le numéro de la requête ou « all
», pour voir la liste complète :
cl-core --cert all cl-core --cert 2
Vous pouvez également afficher tous les certificats en même temps, avec l'option --dump
:
cl-core --cert all --dump
Cette même option permet d'afficher le contenu du fichier de certificat, la syntaxe est comme suit :
cl-core --cert 4 --dump
L'option --server-cert
sert à visualiser les requêtes et les certificats serveur. Tout comme pour les clients, l'argument accepté est le numéro/identifiant sinon « all
» :
cl-core --server-cert all cl-core --server-cert 2
Signer et révoquer des requêtes clients
Pour signer une requête client, utilisez l'option --sign-client
en spécifiant l'ID de la requête, comme suit :
cl-core --sign-client 4
Maintenant saisissez le groupe des droits applicables au nouveau certificat (attention, vous ne pourrez pas modifier les privilèges par la suite !) C'est le certificat serveur qui signe le certificat client.
Pour révoquer une requête client, utilisez l'option --del-client-req
en spécifiant l'identifiant de la requête :
cl-core --del-client-req 4
Pour supprimer un certificat client déjà signé, utilisez l'option --remove
avec --cert
, par exemple :
cl-core --cert 4 --remove
Vous pouvez également générer un certificat avec les droits « all » pour un utilisateur, en exécutant :
cl-core --bootstrap <nom_d'utilisateur>
Ainsi, si vous exécutez :
cl-core --bootstrap dupont
un certificat avec les droits du groupe « all » sera généré pour l'utilisateur
dupont
et ajouté aux certificats de confiance du Serveur des utilitaires.
Pour supprimer tous les certificats, requêtes et fichiers de configuration sur le serveur, utilisez deux options ensemble, --bootstrap
et --remove-certs
:
cl-core --bootstrap dupont --remove-certs
Signer des requêtes et révoquer des certificats émanant d'un autre serveur
Pour signer une requête générée par un autre serveur des utilitaires, utilisez l'option --sign-server
en précisant le numéro de la requête, comme suit :
cl-core --sign-server 4
C'est le certificat racine qui signe.
Pour révoquer une requête générée par un autre serveur, utilisez l'option --del-server-req
en précisant le numéro de la requête :
cl-core --del-server-req 4
Pour révoquer un certificat serveur déjà signé (le mettre sur la liste des révocations), utilisez l'option --revoke-cert
en spécifiant le numéro du certificat, par exemple :
cl-core --revoke-cert 4
Pour supprimer la liste de révocations de certificats, utilisez la commande
cl-core --revoke-cert rm
Modifier les droits sur des certificats
Par défaut, les droits des certificats sont stockés par groupe, dans le fichier /var/calculate/server/conf/group_right.conf
. La syntaxe est comme suit : groupe droits1[, droits2[,droits3...]]
, par exemple :
manager install, get-sessions, request user get-sessions,request,view_cert
Pour modifier les droits d'un certificat spécifique, éditez le fichier /var/calculate/server/conf/right.conf
en y portant les droits pertinents et les numéros des certificats, comme suit :
install 1 2 -3
Dans cet exemple, l'action
install
sera acceptée pour les certificats 1 et 2, mais refusée pour le certificat 3.
Les droits sur un certificat spécifique ont la priorité devant les droits de groupe.
Pour modifier les droits sur un certificat client spécifique, utilisez les options --right-add
et --right-del
avec --cert
, par exemple :
cl-core -c 6 --right-del install_pxe,install cl-core -c 7 --right-add install_pxe,install,configure_video
Dans cet exemple, les méthodes qui demandent les droits
install_pxe
et install
seront refusées pour le certificat 6, les méthodes install_pxe
, install
et configure_video
seront acceptées pour le certificat 7.
Lancer des processus localement¶
Lancer une méthode avec l'option --method
Toutes les actions sur le Serveur des utilitaires peuvent être lancées soit via les clients Calculate (cl-console-gui, cl-console), avec chiffrement des certificats et possibilité d'intervenir sur des serveurs des utilitaires distants, soit depuis les serveurs eux-mêmes. Dans ce dernier cas, l'intervention est locale et immédiate.
Pour visualiser toutes les actions disponibles sur le Serveur, utilisez la commande :
# cl-core --list-methods
Une liste va s'afficher :
install - Installation setup_boot - Amorçage core_setup - Configuration du paquet ...
Pour lancer une méthode, utilisez la commande :
cl-core --method <méthode>
Par exemple :
cl-core --method install --iso /path_to_image/cld-x86_64.iso -d /dev/sda1:swap -d /dev/sda2:/:ext4:on
Pour lire la page d'aide d'une action, utilisez la commande :
cl-core --method <méthode> --help
Ainsi pour l'installation :
cl-core --method install --help
L'option -f
, --force
active le mode non verbeux (brief) où aucune question n'est posée à l'utilisateur, aucune prévisualisation n'est faite.
L'option --no-progress
désactive les barres de progression, qui permettent de visualiser le statut d'une tâche.
Liens vers les méthodes
Quand vous installez le système, des liens symboliques sont crées pour toutes les actions sur le Serveur, générant des alias de forme cl-_méthode_
, où méthode est le nom de la méthode pertinente récupérable avec la commande cl-core --list-methods
. Ainsi pour la méthode setup_network
l'alias sera cl-setup-network
(les caractères « _ » seront remplacés par « ‐ »).
Pour créer des liens absents ou supprimer les liens vers les actions absentes du Serveur, lancez
cl-core --create-symlink
Seul root est autorisé à lancer cl-core
et tout lien qui y pointe.
Tous les liens ne sont utilisables que sur la machine locale, sans certification ni chiffrement.
Divers¶
Pour vérifier la configuration (si le certificat et la clé privée existent et se correspondent, si le certificat est bien valide), utilisez l'option --check
.
L'option --log-path
sert à indiquer le chemin vers les journaux, par exemple :
cl-core --log-path /var/log/calculate/mes_logs/
Il existe toutefoit un fichier par défaut qui recueille les logs, c'est /var/log/calculate/logging_cl_core.out
.
Pour indiquer le chemin vers le fichier pid
, utilisez l'option --pid-file <fichier_pid>
.
Méthodes standard du Serveur¶
Toutes les méthodes du Serveur sont divisées en catégories, trois en tout depuis la version 3.0.0 : Configuration, Installation, Utilitaires.
Configuration
Elle inclut les méthodes utilisées pour configurer les réglages système et modifier les paramètres des paquets.
Installation
Elle regroupe les méthodes exécutées lors de l'installation du système.
Utilitaires
Cette catégorie comprend les méthodes de gestion des certificats, des requêtes, des groupes de droits applicables aux certificats.