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.
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.
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
}
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.
Din kod kommer att rättas automatiskt baserat på följande krav:
- (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.
- (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:
- (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.
- (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:
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.
Detta projekt använder automatisk rättning. Du har två sätt att se dina poäng:
För att slippa vänta på GitHub 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
När du gör en git push kommer GitHub att köra testerna.
- Gå till ditt repo på GitHub.
- Klicka på fliken Pull Requests.
- Öppna feedback-tråden.
- En bot kommer att posta/uppdatera en tabell med dina resultat.
OBS: Så länge
submittedärfalsekommer GitHub visa ett Rött Kryss (Failed) på inlämningen. Detta är normalt och betyder bara att det är ett "Arbete pågår".
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 till GitHub.
{
"student_id": "SKRIV_DITT_ID_HÄR",
"submitted": true
}
Nu (om du klarat alla obligatoriska krav) ska du få en Grön Bock ✅ på GitHub och botten kommer skriva "INLÄMNING MOTTAGEN".