#1 Le 20/02/2009, à 17:44
- Moomba
Session invitée jetable [Résolu]
Bonjour
Je cherche à construire un cluster de calcul type LAM MPI sur des ordinateurs ubuntu en réseau local. (si vous ne savez pas ce que c'est, on peut le résumer à un Daemon exécuté sur plusieurs ordinateurs pour les faire dialoguer en réseau par SSH)
Dans ce cadre, il me faudrai une session utilisateur type "invité" ayant les fonctions suivantes :
- La session ne doit être utilisable que durant un créneau horaire+date bien précis (très important). Elle ne doit être utilisable que sur un seul ordinateur (identifié par son nom ou son IP) ou plusieurs ordinateurs mais bien définis (les 2 choix doivent être possible à la création de la session).
- Elle doit pouvoir être utilisée en SSH à distance, et ce grâce à une clé (type RSA il me semble) stockée dans la session. Il n'est pas possible d'utiliser la connections SSH normal car la demande du login et du mot de passe fait planter LAM MPI, d'où le passage par une clé stockée (déjà essayé et ça marche).
- L'utilisateur execute alors son programme qui fait alors ses calculs et stockes les résultats sur le disque interne à la machine (sur plusieurs disques si calcul parallèle). Une fois le calcul terminé, c'est à l'utilisateur de rapatrier ses données.
- Une fois la session expirée, elle est détruite sans qu'il ne reste rien (aucune traces). Elle doit aussi pouvoir être destructible avant la date d'expiration si besoin est.
Ma question n'est pas de savoir comment réaliser cela, mais de savoir si il est possible de satisfaire l'ensemble de ces obligations. La phase de réalisation est pour plus tard.
Désolé pour ce long poste, et merci d'avance à ceux qui auront le courage de me répondre
Dernière modification par Moomba (Le 21/02/2009, à 14:27)
Celui qui a le pouvoir de faire le mal et qui ne le fait pas, celui là est le prince de l'univers... (Shakespeare)
Hors ligne
#2 Le 20/02/2009, à 21:59
- geenux
Re : Session invitée jetable [Résolu]
La session ne doit être utilisable que durant un créneau horaire+date bien précis (très important).
Le plus simple serait, je pense de faire un script associé à cron qui vérifie que le temps n'est pas dépassé, et quitte la session si c'est le cas
Elle ne doit être utilisable que sur un seul ordinateur (identifié par son nom ou son IP) ou plusieurs ordinateurs mais bien définis (les 2 choix doivent être possible à la création de la session).
Tu veux dire limiter l'accès à seulement certains clients du réseau. Ça doit être possible en utilisant les parefeu (iptables), et en bloquant les entrées ssh (seulement sur le port utilisé pour le ssh de cette session) pour tout le monde, sauf les ips spécifiées.
Elle doit pouvoir être utilisée en SSH à distance, et ce grâce à une clé (type RSA il me semble) stockée dans la session. Il n'est pas possible d'utiliser la connections SSH normal car la demande du login et du mot de passe fait planter LAM MPI, d'où le passage par une clé stockée (déjà essayé et ça marche).
Aucun problème pour ça.
- L'utilisateur execute alors son programme qui fait alors ses calculs et stockes les résultats sur le disque interne à la machine (sur plusieurs disques si calcul parallèle). Une fois le calcul terminé, c'est à l'utilisateur de rapatrier ses données.
Un scp classique pour récupérer les données quoi.
- Une fois la session expirée, elle est détruite sans qu'il ne reste rien (aucune traces). Elle doit aussi pouvoir être destructible avant la date d'expiration si besoin est.
Les fichiers seront créés dans un espace bien délimité, ou potentiellement n'importe où sur le (les) disque.
Si n'importe où, ça implique de devoir logger les accès disque, et ça je ne sais pas le faire.
Ma question n'est pas de savoir comment réaliser cela, mais de savoir si il est possible de satisfaire l'ensemble de ces obligations.
Ça doit pouvoir se faire, moyennant pas mal de galères je pense... Bonne chance.
Hors ligne
#3 Le 20/02/2009, à 22:54
- Moomba
Re : Session invitée jetable [Résolu]
Merci beaucoup pour ta réponse
je pense de faire un script associé à cron
Désolé, j'ai encore des progrès à faire C'est quoi cron ?
Les fichiers seront créés dans un espace bien délimité
Oui, c'est le but recherché. Un répertoire spécifique a la session, détruit ensuite avec cette dernière.
Ça doit pouvoir se faire, moyennant pas mal de galères je pense... Bonne chance.
Le principal est que c'est faisable. J'ai 3 mois pour bricoler ça, je pense que ça ira. En plus, il y a les informaticiens de la boite qui ont l'air d'être intéressés par ce projet
Encore merci
Dernière modification par Moomba (Le 20/02/2009, à 22:54)
Celui qui a le pouvoir de faire le mal et qui ne le fait pas, celui là est le prince de l'univers... (Shakespeare)
Hors ligne
#4 Le 20/02/2009, à 22:59
- geenux
Re : Session invitée jetable [Résolu]
Oui, c'est le but recherché. Un répertoire spécifique a la session, détruit ensuite avec cette dernière.
Ok parfait, alors ça doit être faisable assez simplement (...). L'idée serait de créer un nouvel utilisateur, avec son dossier personnel, et de ne pas lui donner les droits d'écriture sur les autre dossiers que le sien.
Lors de la fermeture de la session, on supprimerai l'utilisateur.
Hors ligne
#5 Le 20/02/2009, à 23:29
- Moomba
Re : Session invitée jetable [Résolu]
Oui, c'est vrai qu'en fait, ça se résume à ça. (plus les quelques autres détails genre la machine à utiliser et la durée de la session.)
Lors de la fermeture de la session, on supprimerai l'utilisateur.
C'est possible à faire ça ? Aussi simplement que c'est dit ?
Celui qui a le pouvoir de faire le mal et qui ne le fait pas, celui là est le prince de l'univers... (Shakespeare)
Hors ligne
#6 Le 21/02/2009, à 09:46
- geenux
Re : Session invitée jetable [Résolu]
Sans doute, tout dépend de comment on ferme la session.
Il y a sans doute un script appelé à la fermeture, mais reste à savoir lequel. Sinon, on se fait un script perso qui fait le même effet, et qui ferme la sessions. Par contre, fermer une session en ligne de commande, je ne sais pas faire (à moins de tuer le serveurs X...), mais ça c'est bourin inutilement...
Désolé, j'ai encore des progrès à faire big_smile C'est quoi cron ?
cron, c'est un petit demon qui permet de lancer régulièrement des programmes. Par exemple, tu peux lui dire de lancer un script toutes les 5 minutes, tous les jours:
crontab -e
*/5 * * * * /chemin/vers/le/script
Je t'invite à regarder ce tutoriel si tu veux plus de détails.
Hors ligne
#7 Le 21/02/2009, à 14:27
- Moomba
Re : Session invitée jetable [Résolu]
Merci beaucoup
Il est super ton Tuto !! J'ai regardé les autres morceaux de la page, et il y a plein de choses sympa a savoir.
Mon problème est donc résolus. Je vais pouvoir présenter le projet.
Je reviendrai vous embêter si il est accepté
Encore merci et bonne fin de weekend.
Moomba
Celui qui a le pouvoir de faire le mal et qui ne le fait pas, celui là est le prince de l'univers... (Shakespeare)
Hors ligne
#8 Le 21/02/2009, à 14:34
- geenux
Re : Session invitée jetable [Résolu]
Je reviendrai vous embêter si il est accepté
Avec plaisir, j'adore les bidouilles de ce genre
Il est super ton Tuto !!
Tu peux regarder le reste du site aussi si ça t'intéresse, globalement les tutos sont de très bonne qualité.
Hors ligne
#9 Le 21/02/2009, à 15:31
- Moomba
Re : Session invitée jetable [Résolu]
Avec plaisir, j'adore les bidouilles de ce genre
Tu sais pas à quoi tu t'engage
Tu peux regarder le reste du site aussi si ça t'intéresse, globalement les tutos sont de très bonne qualité.
Effectivement, je l'avais utilisé une fois pour le JAVA, mais sans fouiller plus loin. Ya plein d'astuces super
Encore merci
Celui qui a le pouvoir de faire le mal et qui ne le fait pas, celui là est le prince de l'univers... (Shakespeare)
Hors ligne