Chaque question va être mis comme un issue avec l' étiquette Devoir 1.
Pour télécharger la machine virtuelle vous devez utiliser les mêmes donnes que vous les avez pour accéder la plateforme Moodle.
student
avec le mot de passe student
et il y a des permissions sudo
.
Tester le devoir: le test va être effectue sur la machine virtuelle autentifie avec l'utilisateur student
, en utilisant uso
. Cela peut être exécute tout le temps pour vérifier si les taches ont été bien résolues. N'essayez pas authentifier avec l'utilisateur root
pour aucun devoir. Ça peut être une raison pour l'échec des taches. Du l'autre cote, c'est pas bien pour la sécurité de travailler comme root.
L'utilité uso
met en ouvre que les tests pour les taches du devoir actuel. Pour utiliser l'utilitaire uso
, la première pas est de lancer Devoir 1 en utilisant sudo uso start 1
. Si vous ne faites pas ca, vous n'aurez pas le checker mis en ouvre pour le devoir actuel.
Vérifier la version du checker, montre a l'utilisation du commandé sudo uso version
. Soyez sûr que vous avez la dernière version avant de continuer le travaille pour le devoir. La version actuelle est montre dans la section Informations générales pressente dans l'énonce du devoir. Si vous n'avez pas la dernière version, lancez sudo uso update
.
L'achemvement du devoir va etre complete en outlisant la commande sudo uso submit
.
La syntaxe utilise par checker est uso [OPTION]…
où [OPTION]…
représente une liste de paramétrer optionnelles et peut avoir une des valeurs suivantes. Dans le cas quand n'est pas spécifié aucun paramétré OPTION
, l'action l'action par défaut est d'exécuter le paramètre check
.
version
: Afficher la version curant de l'exécutable uso
.check
: Vérifie le devoir actuel dans son intégralité et affiche les scores pour chaque tâche.check N
: Où “N” est le numéro de tâche dans l'instruction.update
: Met à jour à la fois le checker de thème actuel et l'exécutable “uso”. La recommandation est de «mettre à jour» chaque fois qu'il est annoncé sur le forum que le checker a été mis à jour.start N
: Téléchargez les exécutables nécessaires pour qu'un nouveau devoir fonctionne. Il peut restaurer un devoir dans sa configuration d'origine, uniquement s'il est spécifié dans l'exigence du devoir.uso start
avant chaque tâche.uso start
submit
: Complétez le sujet.
À l'exception des paramètres version
et check
, tous les autres nécessitent la présence d'une connexion Internet.
uso submit
est obligatoire!
Même après avoir téléchargé le code, NE PAS modifier les fichiers de thème! S'il y a des problèmes dans la correction du thème, et que les fichiers ont été modifiés après la soumission du code, les appels ne seront pas pris en compte. Vous pouvez travailler sur la machine virtuelle sans aucun problème, à condition que les fichiers ou les conditions de fonctionnement de toute tâche du thème précédent ne soient pas modifiés.
uso
se fera uniquement via l'utilisateur student
, mais avec des droits privilégiés (en utilisant sudo
devant vous). La seule exception concerne la commande uso version
, qui ne doit pas utiliser de droits privilégiés.
A ce moment, nous considérons que la machine virtuelle est correctement enregistrée avec le compte utilisateur correspondant à chaque étudiant. Si cette condition est remplie avec succès, les étapes de travail habituelles pour un thème se trouvent ci-dessous.
uso start N
où N este le devoir actuelle.uso check
uso check N
, où N
représente le numéro de la tâcheuso check 4
uso submit
.uso update
.
L'utilitaire uso
implémente des tests uniquement pour les tâches de thème en cours. Pour chaque nouveau thème, pour utiliser l'utilitaire uso
, la première étape est de démarrer le thème à l'aide de la commande sudo uso start <numéro_devoir>
. Sinon, le vérificateur de devoir actuel ne sera pas mis à jour.
Vérifiez la version du checker, affichée lors de l'exécution de la commande sudo uso version
. Assurez-vous de disposer de la dernière version avant de continuer à travailler sur le thème. La version actuelle est spécifiée dans la section Informations générales de la déclaration de thème. Pour les situations où vous ne disposez pas de la dernière version du vérificateur, exécutez sudo uso update
.
Le fin du devoir se fait en exécutant la commande sudo uso submit
.
La machine virtuelle
Le premiere pas est de lancer la machine virtuelle disponible. Les informations necessaires pour la lancer se trouvent ci-dessus.
Pour commencer, assurez-vous d'avoir téléchargé la machine virtuelle: https://repository.grid.pub.ro/cs/uso/USOTeme.ova
Pour exécuter la machine virtuelle, vous devez importer le fichier OVA dans VirtualBox en y accédant File apoi Import Appliance, comme dans les images suivantes:
L'option permettant de sélectionner le chemin d'accès au fichier OVA que vous avez téléchargé apparaîtra, comme illustré ci-dessous.
Cette machine contient un certain nombre de configurations par défaut telles que: 1 cœur de processeur, 512 Mo de RAM. Nous les verrons ci-dessous. Assurez-vous que:
Ensuite, l'importation commencera et cela ressemblera à ci-dessous, soyez patient pour terminer:
Une fois l'importation terminée, assurez-vous d'en créer un host network: File → Host Network Manager → Create:
Démarrez la machine virtuelle et connectez-vous en utilisant votre nom d'utilisateur student
et student
. Vous le verrez dans le menu comme ci-dessous. Faites un clic droit dessus, START → Normal Start:
Recommandations:
root
et student
Chaque BIOS est différent en termes d'options et en naviguant ici, vous devrez rechercher sur le net comment y entrer et y apporter des modifications (généralement une touche de démarrage est enfoncée (.DEL ou F2) avant de démarrer le système d'exploitation)
Vérifiez votre connexion Internet en exécutant la commande ping
sur un site et vérifiez que le site répond (Hint: man ping
)
À ce moment, la machine virtuelle a accès à Internet et la machine physique ( host ) peut communiquer avec la machine virtuelle ( guest ). La machine virtuelle peut démarrer dans un temps assez long, jusqu'à 120 secondes. La machine virtuelle a créé une port forwarding qui permet une connexion facile entre la machine physique et la machine virtuelle.
SSH
Le but du ce tache est de vous connecter de la machine phisique(appele host) a la machine virtuelle(appele guest) en utilisant le protocol SSH. Du Linux/macOS vous pouvez utiliser l'utilitaire ssh
(man ssh
), et du windows vous pouvez utiliser le logiciel PuTTy, que vous pouvez trouver sur le lien http://www.putty.org/, section Download PuTTy. Il suffit de choisir putty.exe en dessous de la section For Windows on Intel x86.
Pour accomplir cette tache, vous avez besoin de:
student
)student
)localhost
(Hint: c'est localhost
parcequ'on a utilise port forwarding)2222
Vous pouvez vous connecter de la machine host a la machine guest avec un nombre pas limite des instances de programmes utlisees au-dessus.(ssh
ou PuTTy). Sur Linux/macOS vous pouvez faire la meme chose en l'ouvrant sur la machine host un nouveau tab/terminal dans lequel vous allez vous connecter a la machine guest par SSH. Lancez la commande man ssh
et chercher apres le parametre -l
(L
petit). Sur Windows vous pouvez faire la meme chose en l'ouvrent une nouvelle instance PuTTy et en introduisant comme IP localhost
et comme port 2222
.
Le checker
Le devoir est verifie automatiquement a l'aide d'un checker, installe sur la machine virtuelle, sous forme de l'executable uso
. Le checker doit etre lance dans un terminal et il a besoin de droits privilegiees (sudo
). Lire la manierre dans la quelle vous pouvez utiliser uso
mode d'emploi.
Pour ce devoir vous devez vous inscrire le nom d'utilisateur et le mot de passe du http://fils.curs.pub.ro en outilisant uso
et apres en suivant les instructions du terminal (qui vont vous conduire vers http://temeuso.cs.pub.ro).
Après cela, nous devrons utiliser l'utilitaire uso
et les instructions fournies par cette commande dans le terminal, grâce auxquelles nous associerons la machine virtuelle à votre compte.
Pour commencer, nous allons exécuter à partir du terminal:
student@vm-uso ~ $ sudo uso
Apres l'inscription, commencez le travaille sur Devoir 0.
student@student@vm-us ~ $ sudo uso start 1
student@vm-us ~ $ sudo uso check
[5p] Clonez dans le dossier /home/student
le repository disponibile a l'adresse https://github.com/usoHomeworks/Tema1.git
. Le dossier cree apres le clonage doit avoir le nom uso
.
[25p] Ajoutez dans le dossier uso
la structure de dossiers et fichers suivante:
Malware/ ├── Computer Worms/ │ ├── Hall of fame/ │ │ ├── Morris │ │ ├── Blaster Worm/ │ │ ├── Mydoom │ ├── SQL $lammer │ ├── Father Christmas/ │ └── Good Worms/ │ ├── XSS Worms/ │ ├── Welchia │ └── Cheeze ├── Spyware/ │ ├── CoolWebSearch/ │ │ ├── Gator.c │ │ ├── 180search Assistant.c │ │ └── |STbar.c │ ├── AUpdate/ │ │ └── Transponder │ └── Internet Optimizer/ │ └── Hot as Hell └── Ransomware/ ├── WannaCry/ │ ├── Mailto: `Netwalker' │ ├── Cerber/ │ └── Bad > Rabbit └── Maze Ransomware/ ├── Cryptomix.c └── Thanos
/
(slash).
[5p] Ajoutez le répertoire “Malware” et tous les fichiers contenus dans une archive nommée “archive.tar.bz2”, de type bzip compressé, dans le répertoire uso
.
(Hint: man tar)
~/uso/Malware/
. Il doit rester dans cette forme pour les verifications suivants du checker. Vous aller perdre les points obtenues pout cette tache si vous faites de modifications et il serra necessaire de refaire la tache.
[12p] Entrez dans le dossier uso
, et utilisez une seule commande pour chaque tache suivante:
Malware
du dossier uso
qui doit s'appeller Clone
et qui doit se trouve toujours dans le dossier uso
(maintenant, dans le dossier uso
vous allez voire les deux dossiers: Malware
et Clone
).Clone
:'Mailto: `Netwalker
' du WannaCry
dans Father Christmas
.Bad > Rabbit
en Bad & Rabbit
.SQL $lammer
în $QL Slammer
.|STbar.c
dans le dossier Internet Optimizer
.
Les tâches au-dessus doivent etre resolues dans l'ordre.
~/uso/Clone/
. Il doit rester dans cette forme pour les verifications suivants du checker. Vous aller perdre les points obtenues pout cette tache si vous faites de modifications et il serra necessaire de refaire la tâche.
Dans le répertoire home/student/tema2-scripts
, créez un script appelé users.sh
qui trie les utilisateurs par ordre alphabétique à partir du fichier etc/passwd
qui lance les services sur le système et affiche les noms et les services associés pour les 10 premiers. Les noms d'utilisateur et le service associé seront séparés par «:» (par exemple irc: irc). Le script affichera les informations dans le fichier /home/student/tema2-scripts-output/users.out
.
Dans le fichier /home/student/tema2-scripts/weather.sh
, créez une ligne unique qui reçoit des arguments sur la ligne de commande. Les arguments se présentent sous la forme < Ville température météo> (par exemple, Bucarest 10 soleil). Le script effectuera les actions suivantes:
/home/student/tema2-scripts-output/weather.info
.
./weather.sh Bucuresti 10 soare
, le fichier weather.info
contiendra la ligne Bucuresti 10 soare
.
#!/bin/bash
dans le fichier.
live.info
(si une ville existe, les informations seront mises à jour, si elles n'existent pas, une nouvelle entrée sera ajoutée). Chaque ligne du fichier live.info
sera sous la forme Oras temperatura vreme
.
./weather.sh Bucuresti 10 soare
et ./weather.sh Bucuresti 8 ploaie
, le fichier live.info
contiendra la ligne Bucuresti 8 ploaie
.
Finissez le devoir et soyez sur que vous l'avez envoye avec sudo uso submit
.
submit
) tandis que vous êtes connecté via SSH de la machine host à la machine guest . Ceci n'est obligatoire que dans cette rubrique. Pour les autres sujets, vous n'avez pas besoin d'être connecté via SSH lorsque vous faites submit
.
student@vm-uso ~ $ sudo uso submit