|
Some checks failed
Autograding Tests / run-autograding-tests (push) Failing after 8s
The in-repo grading feedback previously showed "🎉 alla obligatoriska tester ser gröna ut" for any submitted repo (no test is marked required, so that branch fired even at 0/100), and the READMEs told applicants to look under GitHub "Pull Requests". This confused applicants and generated support requests to antagning. - grading-feedback: submitted state now reads "Din inlämning är mottagen … preliminärt automatiskt testresultat — den officiella bedömningen görs av lärarna"; header 🎉→📩; score relabeled "Preliminärt testresultat". - README: GitHub/Pull-Requests language → Forgejo + the "Automatisk rättning — feedback" issue; "pusha till GitHub" → "pusha". Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .github | ||
| create_users.sh | ||
| README.md | ||
| student.json | ||
🎓 Linux & Bash: Skapa Användarhanterings-script
Välkommen till detta prov i Linux & Bash! Din uppgift är att skapa ett automatiserat Bash-script som hanterar skapandet av nya användare och sätter upp deras katalogstruktur.
⚠️ VIKTIGT: LÄS DETTA FÖRST
För att din inlämning ska fungera och rättas korrekt måste du följa dessa regler:
- Rör ej systemfiler: Du får inte göra ändringar i mappen
.github, eller i testfilerna. Om du ändrar dessa filer blir ditt prov ogiltigförklarat. - Registrering: Du måste fylla i ditt ID i
student.jsoninnan du börjar (se nedan). - Inlämningsstatus: Du styr själv när du är "klar" genom en inställning i
student.json. - Se till att feedback bottens rapporterade testresultat är det du vill ha, om den inte visar rätt så har du något fel i din kod.
🆔 Steg 1: Setup & ID
Innan du börjar koda måste du ställa in ditt projekt. Om du inte gör detta kommer inga av dina tester att köras.
Så här hittar du ditt ID:
- Logga in på antagningssidan (yh-antagning.se).
- Under "Inlämnade ansökningar", klicka på rutan för denna utbildning.
- Scrolla längst ner på sidan till sektionen "Mina personuppgifter" (klicka på pilen för att fälla ut om det behövs).
- Kopiera koden som står vid Ansökningsnummer (t.ex.
FSAEFSAD).
Så här ställer du in repot:
- Öppna filen
student.jsoni din kodeditor. - Byt ut texten
"SKRIV_DITT_ID_HÄR"mot ditt ID. - Låt
"submitted": falsevara kvar. Detta betyder att du jobbar på ett utkast. - Spara filen.
{
"student_id": "SKRIV_DITT_ID_HÄR",
"submitted": false
}
📝 Uppgiftsbeskrivning
Fil att arbeta i: create_users.sh
Scenario: Företaget växer och du behöver ett script som skapar en användare, sätter upp en hemkatalog och tilldelar rätt grupp. Du ska skapa ett script som konfigurerar och skapar användare utifrån en lista som skickas in till scriptet.
Scriptet ska hantera säkerhet (endast root får köra det), skapa specifika undermappar för varje användare och generera en personlig välkomstfil.
Totalt kan du få 100 poäng på provet.
Funktionella Krav
Din kod kommer att rättas automatiskt baserat på följande krav:
1. Grundstruktur och Behörighet (20p)
- (10p) Scriptet ska ha en korrekt "Shebang" (
#!/bin/bash) och innehålla kommentarer som förklarar koden. - (10p) Scriptet ska kontrollera att användaren som kör scriptet är root (Superuser / UID 0). Om inte, ska scriptet avbrytas med ett felmeddelande.
2. Användarskapande (20p)
- (20p) Scriptet ska kunna ta emot en lista av användarnamn som argument (parametrar) och skapa dessa användare på systemet (t.ex.
useradd).- Exempelanrop:
./create_users.sh Anna Bjorn Charlie
- Exempelanrop:
3. Katalogstruktur och Rättigheter (20p)
- (10p) För varje ny användare ska mapparna
Documents,DownloadsochWorkskapas i deras hemkatalog. - (10p) Se till att endast ägaren av mapparna kan redigera och läsa i dem.
4. Välkomstmeddelande (20p)
- (20p) Filen
welcome.txtska skapas i användarens hemkatalog. Denna fil ska innehålla:- Första raden ska innehålla ett personligt välkomstmeddelande i detta format:
Välkommen <användare> - En lista på alla andra användare som redan finns i systemet.
- Första raden ska innehålla ett personligt välkomstmeddelande i detta format:
Inlämning & Video (20p)
Förutom koden ska du spela in en kort skärminspelning där du demonstrerar din lösning.
- Spela in när du visar din lösning och berättar om hur den fungerar.
- Döp filen till exakt:
videoprov.mp4. - Lägg filen i rotmappen (samma ställe som denna README).
- OBS: Filen får inte vara större än 100MB.
🚀 Hur du testar din kod
Detta projekt använder automatisk rättning. Du har två sätt att se dina poäng:
Alternativ 1: Köra lokalt (Rekommenderas)
För att slippa vänta på den automatiska rättningen kan du köra testerna på din egen dator med
sudo .github/tests/test.sh. Alternativt sudo .github/tests/test.sh 1 för att välja specifika testfall.
(Testerna skapar och tar bort testanvändare, så de behöver köras med sudo lokalt.)
Alternativ 2: Automatisk rättning i Forgejo
När du gör en git push körs testerna automatiskt i Forgejo.
- Gå till ditt repo i Forgejo.
- Öppna fliken Issues.
- Öppna issuen "Automatisk rättning — feedback".
- Botten postar/uppdaterar där en tabell med dina resultat.
OBS: Så länge
submittedärfalsevisar Forgejo ett Rött Kryss på körningen. Det är normalt och betyder bara att provet är ett "Arbete pågår" och inte inlämnat än.
✅ Steg 2: Inlämning
När du känner dig klar och har fått de poäng du satsar på:
- Öppna
student.json. - Ändra
"submitted": falsetill"submitted": true. - Spara, committa och pusha.
{
"student_id": "SKRIV_DITT_ID_HÄR",
"submitted": true
}
När du pushat med "submitted": true uppdaterar botten feedback-issuen till "INLÄMNING MOTTAGEN". Poängen som visas där är ett preliminärt automatiskt testresultat — den officiella bedömningen görs av lärarna.