74 lines
2.5 KiB
YAML
74 lines
2.5 KiB
YAML
|
|
id: 01-shell-droits
|
||
|
|
titre: Premiers pas dans le shell et droits
|
||
|
|
niveau: decouverte
|
||
|
|
duree_min: 40
|
||
|
|
formations: [snt, nsi-1re, bac-pro-ciel, bts-sio, but-rt, tssr]
|
||
|
|
competences: [arborescence, commandes-base, droits, utilisateurs]
|
||
|
|
|
||
|
|
reseaux:
|
||
|
|
- nom: isole
|
||
|
|
cidr: 10.0.0.0/24
|
||
|
|
|
||
|
|
machines:
|
||
|
|
- nom: poste
|
||
|
|
image: paillasse-debian
|
||
|
|
flavor: eleve.petit
|
||
|
|
reseaux: [isole]
|
||
|
|
|
||
|
|
consignes:
|
||
|
|
- "Crée le dossier /home/eleve/projet."
|
||
|
|
- "Crée le fichier /home/eleve/projet/rapport.txt contenant le mot « paillasse »."
|
||
|
|
- "Crée le groupe `equipe` et l'utilisateur `alice`, membre de ce groupe."
|
||
|
|
- "Donne le fichier rapport.txt au groupe `equipe`."
|
||
|
|
- "Règle les droits de rapport.txt en 640 (propriétaire : lecture/écriture, groupe : lecture, autres : rien)."
|
||
|
|
- "Rends exécutable le script /home/eleve/projet/bonjour.sh que tu auras créé."
|
||
|
|
|
||
|
|
verifications:
|
||
|
|
- id: dossier
|
||
|
|
titre: Dossier projet
|
||
|
|
machine: poste
|
||
|
|
commande: "test -d /home/eleve/projet"
|
||
|
|
attendu: { code_retour: 0 }
|
||
|
|
points: 1
|
||
|
|
message_echec: "Le dossier /home/eleve/projet n'existe pas."
|
||
|
|
- id: fichier
|
||
|
|
titre: Contenu du rapport
|
||
|
|
machine: poste
|
||
|
|
commande: "grep -q paillasse /home/eleve/projet/rapport.txt"
|
||
|
|
attendu: { code_retour: 0 }
|
||
|
|
points: 1
|
||
|
|
message_echec: "rapport.txt n'existe pas ou ne contient pas « paillasse »."
|
||
|
|
- id: utilisateur
|
||
|
|
titre: Utilisatrice alice dans le groupe equipe
|
||
|
|
machine: poste
|
||
|
|
commande: "id -nG alice | grep -qw equipe"
|
||
|
|
attendu: { code_retour: 0 }
|
||
|
|
points: 2
|
||
|
|
message_echec: "alice n'existe pas ou n'est pas dans le groupe equipe."
|
||
|
|
- id: groupe-fichier
|
||
|
|
titre: Groupe du fichier
|
||
|
|
machine: poste
|
||
|
|
commande: "test \"$(stat -c %G /home/eleve/projet/rapport.txt)\" = equipe"
|
||
|
|
attendu: { code_retour: 0 }
|
||
|
|
points: 1
|
||
|
|
message_echec: "rapport.txt n'appartient pas au groupe equipe (regarde chgrp)."
|
||
|
|
- id: droits
|
||
|
|
titre: Droits 640
|
||
|
|
machine: poste
|
||
|
|
commande: "test \"$(stat -c %a /home/eleve/projet/rapport.txt)\" = 640"
|
||
|
|
attendu: { code_retour: 0 }
|
||
|
|
points: 2
|
||
|
|
message_echec: "Les droits de rapport.txt ne sont pas 640."
|
||
|
|
- id: script
|
||
|
|
titre: Script exécutable
|
||
|
|
machine: poste
|
||
|
|
commande: "test -x /home/eleve/projet/bonjour.sh"
|
||
|
|
attendu: { code_retour: 0 }
|
||
|
|
points: 1
|
||
|
|
message_echec: "bonjour.sh n'existe pas ou n'est pas exécutable."
|
||
|
|
|
||
|
|
indices:
|
||
|
|
- "mkdir crée un dossier, echo \"texte\" > fichier crée un fichier."
|
||
|
|
- "groupadd, puis useradd -G pour l'appartenance."
|
||
|
|
- "chmod 640 : 6 = rw-, 4 = r--, 0 = ---."
|