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 = ---."