Linux-komentorivin ja Bash-komentosarjojen hallinta · Oppitunti

Käyttäjien ja ryhmien luonnin automatisointi

Luo, muokkaa ja tarkasta käyttäjätilejä suurina erinä useraddilla, chagella ja sudoers-osatiedostojen hallinnalla.

Oppitunti 1/413 vaihetta

Käyttäjien ja ryhmien luonnin automatisointi on ilmainen Linux-komentorivin ja Bash-komentosarjojen hallinta-oppitunti CoddyKitissä. Tämä on oppitunti 1/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Linux-komentorivin ja Bash-komentosarjojen hallinta-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Linux-komentorivin ja Bash-komentosarjojen hallinta-kurssilla on yhteensä 4 oppituntia.

Miksi käyttäjien käyttöönotto kannattaa automatisoida

Käyttäjien hallinta yksi kerrallaan useradd-komennolla toimii hyvin muutaman tilin tapauksessa, mutta yritysympäristöissä otetaan säännöllisesti käyttöön kymmeniä tai satoja käyttäjiä samanaikaisesti. Manuaaliset komennot ovat alttiita virheille, johtavat epäyhtenäisiin asetuksiin, eikä niiden suorittamisesta jää luotettavaa auditointijälkeä.

Bash-komentosarjojen avulla voitte:

  • luoda käyttäjät joka kerta samoilla vakioasetuksilla (komentotulkki, kotihakemisto, salasanakäytäntö)
  • lukea uusien työntekijöiden CSV- tai tekstitiedoston ja ottaa käyttäjät käyttöön yhdellä ajolla
  • kirjata jokaisen toiminnon, jolloin käytettävissä on vaatimustenmukaisuuden edellyttämä auditointijälki
  • integroida toiminnallisuuden konfiguraationhallinnan putkiin (Ansible, Chef, Jenkins)

Tässä oppitunnissa rakennetaan tuotantokäyttöön soveltuva käyttäjien käyttöönottoskripti alusta alkaen. Käsiteltäviä aiheita ovat useradd, chage, usermod, ryhmien hallinta, sudoers drop-in -tiedostot ja ajon jälkeinen auditointi.

Käyttäjäluettelon lukeminen eräajona

Erämuotoisen käyttöönoton vakiomuoto on erotinmerkeillä rajattu tekstitiedosto — yksi tietue riviä kohden. Tyypillinen CSV-tiedosto voi näyttää tältä:

username,full_name,group,shell
alice,Alice Smith,developers,/bin/bash
bob,Bob Jones,ops,/bin/zsh

Jäsentäkää tiedosto turvallisesti käyttämällä IFS-muuttujaa ja read-komentoa while-silmukan sisällä. Otsikkorivin ohittaminen komennolla tail -n +2 pitää logiikan selkeänä.

Tärkeät suojautumiskäytännöt:

  • poistakaa alussa ja lopussa olevat välilyönnit kustakin kentästä
  • ohittakaa tyhjät rivit sekä kommenttirivit, jotka alkavat merkillä #
  • varmistakaa ennen järjestelmäkomentojen kutsumista, etteivät pakolliset kentät ole tyhjiä
#!/usr/bin/env bash
# parse_users.sh — safely read a CSV of users
set -euo pipefail

USER_FILE="${1:-users.csv}"

[[ -f "$USER_FILE" ]] || { echo "ERROR: $USER_FILE not found"; exit 1; }

tail -n +2 "$USER_FILE" | while IFS=',' read -r username full_name group shell; do
  # trim whitespace
  username="${username// /}"
  [[ -z "$username" || "$username" == \#* ]] && continue

  echo "Parsed -> user=$username group=$group shell=$shell"
done

Käyttäjien luominen useradd-komennolla

useradd on matalan tason apuohjelma, joka kirjoittaa tiedostoihin /etc/passwd, /etc/shadow ja /etc/group. Komentosarjoissa tärkeimmät valitsimet ovat:

  • -m — luo kotihakemiston
  • -s — asettaa kirjautumiskomentotulkin
  • -c — GECOS-kommenttikenttä (koko nimi)
  • -G — lisäryhmät (pilkuin eroteltuina)
  • -e — tilin vanhenemispäivä (YYYY-MM-DD)

Tarkistakaa aina ennen useradd-komennon suorittamista id-komennolla, onko käyttäjä jo olemassa. Olemassa olevalle käyttäjälle suoritettuna komento palauttaa poistumiskoodin 9 ja tulostaa virheen, joka voi täyttää lokit turhalla tiedolla.

Huomautus: useradd vaatii pääkäyttäjän oikeudet. Lisätkää komentosarjan alkuun oikeuksien tarkistus.

#!/usr/bin/env bash
# create_user.sh — idempotent single-user creation
set -euo pipefail

[[ $EUID -ne 0 ]] && { echo "Must run as root"; exit 1; }

USERNAME="$1"
FULL_NAME="${2:-}"
GROUP="${3:-staff}"
SHELL="${4:-/bin/bash}"

if id "$USERNAME" &>/dev/null; then
  echo "[SKIP] User $USERNAME already exists"
else
  useradd \
    --create-home \
    --shell "$SHELL" \
    --comment "$FULL_NAME" \
    --groups "$GROUP" \
    "$USERNAME"
  echo "[OK] Created $USERNAME"
fi

Alustavien salasanojen turvallinen asettaminen

Älkää koskaan kirjoittako salasanoja suoraan komentosarjoihin. Erämuotoisessa käyttöönotossa voitte käyttää turvallisesti jompaakumpaa seuraavista tavoista:

  • Luokaa satunnainen alustava salasana komennolla openssl rand tai lähteestä /dev/urandom, tulostakaa se kerran ja pakottakaa käyttäjä vaihtamaan se ensimmäisen kirjautumisen yhteydessä
  • Asettakaa valmiiksi hajautettu salasana komennolla usermod -p käyttäen SHA-512-hajautetta, jolloin selväkielinen salasana ei näy prosessiluettelossa

chpasswd on suositeltu työkalu salasanojen asettamiseen komentosarjoissa — se lukee muodossa username:password olevat parit vakiotulosta, joten salasana ei näy komentorivin argumenteissa (jotka näkyvät komennolla ps).

Kun salasana on asetettu, pakottakaa salasanan välitön vaihtaminen seuraavan kirjautumisen yhteydessä komennolla chage -d 0.

#!/usr/bin/env bash
# set_temp_password.sh
set -euo pipefail

[[ $EUID -ne 0 ]] && { echo "Must run as root"; exit 1; }

USERNAME="$1"

# Generate a 16-char random password (alphanumeric only)
TMP_PASS=$(tr -dc 'A-Za-z0-9' < /dev/urandom | head -c 16)

# Set password via chpasswd (password never in argv)
echo "${USERNAME}:${TMP_PASS}" | chpasswd

# Force password change on next login
chage -d 0 "$USERNAME"

echo "[OK] Temporary password for $USERNAME: $TMP_PASS"
echo "[OK] User must change password on first login"

Salasanojen vanhenemisen hallinta chage-komennolla

chage (change age) hallitsee tiedostoon /etc/shadow tallennettua salasanojen vanhenemiskäytäntöä. Yritysten tietoturvakäytännöt edellyttävät yleensä seuraavia asioita:

  • salasanan enimmäisikä (esimerkiksi 90 päivää)
  • päivien vähimmäismäärä, jonka jälkeen salasanan voi vaihtaa uudelleen
  • vanhenemista edeltävä varoitusaika
  • tilin lukitseminen, kun se on ollut käyttämättömänä viimeisimmän salasanan käytön jälkeen

Tärkeät chage-valitsimet:

  • -M <days> — salasanan enimmäisikä
  • -m <days> — salasanan vähimmäisikä
  • -W <days> — vanhenemista edeltävien varoituspäivien määrä
  • -I <days> — tilin lukitsemiseen vaadittavien käyttämättömyyspäivien määrä
  • -E <date> — tilin ehdoton vanhenemispäivä
  • -l — näyttää käyttäjän nykyiset asetukset
#!/usr/bin/env bash
# apply_password_policy.sh — enforce org-wide ageing policy
set -euo pipefail

[[ $EUID -ne 0 ]] && { echo "Must run as root"; exit 1; }

# Policy constants
MAX_AGE=90
MIN_AGE=1
WARN_DAYS=14
INACTIVE_DAYS=30

apply_policy() {
  local user="$1"
  chage \
    -M "$MAX_AGE" \
    -m "$MIN_AGE" \
    -W "$WARN_DAYS" \
    -I "$INACTIVE_DAYS" \
    "$user"
  echo "[OK] Policy applied to $user"
}

# Apply to all non-system users (UID >= 1000)
awk -F: '$3 >= 1000 && $3 < 65534 { print $1 }' /etc/passwd | while read -r user; do
  apply_policy "$user"
done

Ryhmien hallinta eräajona

Ryhmät ovat ensisijainen resurssien käyttöoikeuksien hallintamekanismi. Käyttöönottoautomaatioskriptin on varmistettava, että tarvittavat ryhmät ovat olemassa ennen käyttäjien lisäämistä niihin — useradd -G nonexistent epäonnistuu.

Käyttäkää groupadd-komentoa idempotentisti tarkistamalla poistumiskoodi: se palauttaa arvon 9, jos ryhmä on jo olemassa. Komento getent group <name> on siirrettävä ja selkeä vaihtoehto tiedoston /etc/group läpikäymiselle grepillä.

gpasswd -a lisää käyttäjän ryhmään korvaamatta olemassa olevia jäsenyyksiä. Tämä poikkeaa komennosta usermod -G, joka korvaa lisäryhmien luettelon.

#!/usr/bin/env bash
# ensure_groups.sh — create groups if missing, then add users
set -euo pipefail

[[ $EUID -ne 0 ]] && { echo "Must run as root"; exit 1; }

REQUIRED_GROUPS=(developers ops security auditors)

for grp in "${REQUIRED_GROUPS[@]}"; do
  if getent group "$grp" &>/dev/null; then
    echo "[SKIP] Group $grp already exists"
  else
    groupadd "$grp"
    echo "[OK] Created group $grp"
  fi
done

# Safely add a user to a group (append, don't replace)
add_to_group() {
  local user="$1" group="$2"
  gpasswd -a "$user" "$group" 2>/dev/null && echo "[OK] $user -> $group"
}

Täydellinen erämuotoinen käyttöönottoskripti

Kootaan kaikki yhteen: yksi skripti lukee CSV-tiedoston, luo käyttäjät ja ryhmät, asettaa salasanakäytännön, kirjaa jokaisen toiminnon ja käsittelee virheet hallitusti pysäyttämättä koko eräajoa.

Alla olevassa skriptissä tehdyt tärkeät suunnitteluratkaisut:

  • LOG_FILE, jonka aikaleimat tallentavat kaikki toiminnot auditointia varten
  • yksittäisten käyttäjien virheet kirjataan, mutta ne eivät keskeytä silmukkaa (|| log_error)
  • skripti on idempotentti — sen voi suorittaa turvallisesti uudelleen osittaisten virheiden jälkeen
  • kaikki tulosteet ohjataan sekä päätelaitteeseen että lokitiedostoon komennolla tee
#!/usr/bin/env bash
# bulk_provision.sh — production user provisioning
set -uo pipefail

[[ $EUID -ne 0 ]] && { echo "Must run as root"; exit 1; }

USER_FILE="${1:-users.csv}"
LOG_FILE="/var/log/user_provision_$(date +%F).log"

log()  { echo "[$(date '+%F %T')] $*" | tee -a "$LOG_FILE"; }
err()  { log "ERROR: $*"; }

log "=== Provisioning started from $USER_FILE ==="

tail -n +2 "$USER_FILE" | while IFS=',' read -r username fullname group shell; do
  username="${username// /}"
  [[ -z "$username" || "$username" == \#* ]] && continue
  group="${group:-staff}"
  shell="${shell:-/bin/bash}"

  # Ensure group exists
  getent group "$group" &>/dev/null || groupadd "$group"

  # Create user idempotently
  if id "$username" &>/dev/null; then
    log "[SKIP] $username exists"
  else
    useradd -m -s "$shell" -c "$fullname" -G "$group" "$username" || { err "useradd failed for $username"; continue; }
    TMP="$(tr -dc 'A-Za-z0-9' < /dev/urandom | head -c 14)"
    echo "${username}:${TMP}" | chpasswd
    chage -M 90 -m 1 -W 14 -I 30 -d 0 "$username"
    log "[OK] $username created (group=$group) tmp_pass=$TMP"
  fi
done

log "=== Provisioning complete ==="

sudoers drop-in -tiedostojen hallinta

Tiedoston /etc/sudoers suora muokkaaminen on vaarallista — syntaksivirhe estää kaikilta pääsyn komentoon sudo. Turvallinen tapa on käyttää drop-in-tiedostoja hakemistossa /etc/sudoers.d/ ja tarkistaa jokainen tiedosto komennolla visudo -c -f ennen sen käyttöönottoa.

Sudoers-katkelmien parhaat käytännöt:

  • nimetkää tiedostot niiden myöntämän tiimin tai roolin mukaan (esimerkiksi 10-developers, 20-ops)
  • käyttäkää ryhmäpohjaisia sääntöjä (%developers ALL=(ALL) NOPASSWD: /usr/bin/systemctl) käyttäjäkohtaisten rivien sijaan
  • asettakaa oikeuksiksi aina 0440 ja omistajaksi root:root
  • tarkistakaa syntaksi komennolla visudo -c — se palauttaa nollasta poikkeavan arvon syntaksivirheen yhteydessä
#!/usr/bin/env bash
# write_sudoers_fragment.sh
set -euo pipefail

[[ $EUID -ne 0 ]] && { echo "Must run as root"; exit 1; }

FRAGMENT_NAME="${1:-10-developers}"
SUDOERS_DIR="/etc/sudoers.d"
TMP_FILE="$(mktemp)"

# Write the fragment to a temp file first
cat > "$TMP_FILE" << 'EOF'
# Developers: restart services and view journals without full root
%developers ALL=(ALL) NOPASSWD: /usr/bin/systemctl restart *, /usr/bin/journalctl
%ops        ALL=(ALL) NOPASSWD: ALL
EOF

# Validate BEFORE installing
if visudo -c -f "$TMP_FILE"; then
  install -m 0440 -o root -g root "$TMP_FILE" "${SUDOERS_DIR}/${FRAGMENT_NAME}"
  echo "[OK] Installed ${SUDOERS_DIR}/${FRAGMENT_NAME}"
else
  echo "[ERROR] sudoers syntax check failed — fragment NOT installed"
  rm -f "$TMP_FILE"
  exit 1
fi
rm -f "$TMP_FILE"

Olemassa olevien tilien auditointi

Käyttöönoton jälkeen ja säännöllisin väliajoin tulee käyttäjätietokannasta etsiä poikkeamia:

  • UID 0 -tilit — mikä tahansa muu kuin root-tili, jolla on UID 0, on kriittinen tietoturvahavainto
  • Salasanattomat tilit — merkinnät, joissa tiedoston /etc/shadow salasanakenttä on tyhjä tai sisältää merkin !
  • Vanhentuneet mutta aktiiviset tilit — komennon chage -l tuloste voidaan jäsentää eräajona
  • Käyttäjät, joilla on komentotulkki mutta ei kotihakemistoa — kirjautumisen rikkova virheellinen määritys

Jäsennellyn raportin luominen ja lähettäminen sähköpostitse tietoturvatiimille on helppoa komennolla mail tai lisäämällä tiedot valvottuun lokipolkuun.

#!/usr/bin/env bash
# audit_users.sh — produce a security-relevant user report
set -uo pipefail

REPORT="/var/log/user_audit_$(date +%F).txt"

echo "=== User Audit Report $(date) ===" > "$REPORT"

echo "" >> "$REPORT"
echo "--- Accounts with UID 0 (should be root only) ---" >> "$REPORT"
awk -F: '$3 == 0 { print $1 }' /etc/passwd >> "$REPORT"

echo "" >> "$REPORT"
echo "--- Accounts with empty password field ---" >> "$REPORT"
awk -F: '($2 == "" || $2 == "!") && $3 >= 1000 { print $1 }' /etc/shadow 2>/dev/null >> "$REPORT" || echo "  (requires root)" >> "$REPORT"

echo "" >> "$REPORT"
echo "--- Normal users (UID 1000-60000) ---" >> "$REPORT"
awk -F: '$3 >= 1000 && $3 < 60000 { printf "%-20s uid=%-6s shell=%s\n", $1, $3, $7 }' /etc/passwd >> "$REPORT"

cat "$REPORT"
echo "Report saved to $REPORT"

Tilien lukitseminen, lukituksen avaaminen ja poistaminen

Käyttäjän poistaminen käytöstä on yhtä tärkeää kuin käyttöönotto. Kun käyttäjä lähtee, oikea järjestys on seuraava:

  1. Lukitkaa tili välittömästi (usermod -L) — komento lisää !-merkin shadow-salasanahajautteen eteen, mikä estää kirjautumisen poistamatta tietoja
  2. Perukaa sudo-oikeudet — poistakaa käyttäjän sudoers-katkelma, jos sellainen on olemassa
  3. Siirtäkää tiedostojen omistajuus esihenkilölle tai arkistotilille
  4. Arkistoikaa kotihakemisto tar-paketiksi ennen poistamista
  5. Poistakaa tili komennolla userdel -r — komento poistaa koti- ja sähköpostijonohakemiston

usermod -U avaa tilin lukituksen (poistaa etuliitteen !), mikä on hyödyllistä tilapäisessä keskeyttämisessä.

#!/usr/bin/env bash
# offboard_user.sh — lock, archive, then optionally delete
set -euo pipefail

[[ $EUID -ne 0 ]] && { echo "Must run as root"; exit 1; }

USERNAME="$1"
ARCHIVE_DIR="/srv/archived-homes"
mkdir -p "$ARCHIVE_DIR"

# 1. Lock account
usermod -L "$USERNAME"
echo "[OK] Account $USERNAME locked"

# 2. Remove sudoers fragment if present
SUDOERS_FILE="/etc/sudoers.d/${USERNAME}"
[[ -f "$SUDOERS_FILE" ]] && rm -f "$SUDOERS_FILE" && echo "[OK] Removed sudoers fragment"

# 3. Archive home directory
HOME_DIR="$(getent passwd "$USERNAME" | cut -d: -f6)"
if [[ -d "$HOME_DIR" ]]; then
  tar -czf "${ARCHIVE_DIR}/${USERNAME}_$(date +%F).tar.gz" -C "$(dirname "$HOME_DIR")" "$(basename "$HOME_DIR")"
  echo "[OK] Home archived to ${ARCHIVE_DIR}/${USERNAME}_$(date +%F).tar.gz"
fi

echo "[NOTICE] Review archive, then run: userdel -r $USERNAME"

Skriptin testaaminen dry-run-tilassa

Tuotantokäyttöön tarkoitetut käyttöönottoskriptit on voitava testata ilman sivuvaikutuksia. Toteuttakaa dry-run-tila käyttämällä DRY_RUN-lippua, joka korvaa kaikki tilaa muuttavat komennot echo-stubien avulla.

Menettely on yksinkertainen: määritelkää run()-apuohjelma, joka lipun arvon perusteella joko suorittaa komennon tai tulostaa sen. Tällä tavalla:

  • jokainen koodipolku suoritetaan testauksen aikana
  • tuloste näyttää täsmälleen, mitä oikeassa ajossa tapahtuisi
  • CI-putket voivat tarkistaa logiikan ilman pääkäyttäjän oikeuksia

Käyttäkää dry-run-tilan lisäksi erillistä testikäyttäjien etuliitettä (esimerkiksi test_), jotta testauksen jälkeinen siivous on helppoa.

#!/usr/bin/env bash
# provision_with_dryrun.sh
set -euo pipefail

DRY_RUN="${DRY_RUN:-false}"

# Wrapper: execute or echo
run() {
  if [[ "$DRY_RUN" == "true" ]]; then
    echo "[DRY-RUN] $*"
  else
    "$@"
  fi
}

create_user() {
  local user="$1" group="$2"
  if id "$user" &>/dev/null; then
    echo "[SKIP] $user exists"
    return
  fi
  run useradd -m -s /bin/bash -G "$group" "$user"
  run chage -M 90 -m 1 -W 14 -d 0 "$user"
  echo "[OK] $user provisioned (dry=$DRY_RUN)"
}

# Test run
DRY_RUN=true create_user testuser developers
echo "---"
create_user realuser developers 2>/dev/null || true

Mitä komentoa käytetään käyttäjän lisäämiseen lisäryhmään olemassa olevia ryhmäjäsenyyksiä poistamatta

Erämuotoisessa käyttöönottoskriptissä olemassa oleva käyttäjä on lisättävä ryhmään auditors. Käyttäjä kuuluu jo ryhmiin developers ja staff. Mikä komento säilyttää kaikki nykyiset jäsenyydet ja lisää käyttäjän uuteen ryhmään?

Oppitunnin kertaus: käyttäjien ja ryhmien käyttöönoton automatisointi

Tässä oppitunnissa rakensitte täydellisen, tuotantokäyttöön soveltuvan käyttäjien käyttöönottotyökalupaketin. Tärkeimmät opit:

  • Jäsentäkää syöte ennakoivasti — käyttäkää IFS/read-silmukoita, ohittakaa tyhjät ja kommenttirivit ja tarkistakaa kentät ennen jokaista järjestelmäkutsua
  • useradd-komennon perusteet — käyttäkää aina valitsimia -m (koti), -s (komentotulkki), -c (kommentti) ja -G (ryhmät); tarkistakaa olemassaolo ensin komennolla id idempotenttisuuden varmistamiseksi
  • Salasanat — asettakaa ne chpasswd-komennon vakiotulon kautta, jotta selväkielinen salasana ei päädy prosessiargumentteihin; pakottakaa vaihto ensimmäisen kirjautumisen yhteydessä komennolla chage -d 0
  • chage käytäntöä varten — vakioikaa kaikkien muiden kuin järjestelmätilien enimmäisikä (-M), varoituspäivät (-W) ja käyttämättömyyden aiheuttama lukitus (-I)
  • Ryhmäjäsenyydet — käyttäkää lisäämiseen komentoa gpasswd -a tai komentoa usermod -aG (valitsimen -a kanssa), jotta jäsenyydet lisätään eikä korvata
  • sudoers drop-in -tiedostot — kirjoittakaa hakemistoon /etc/sudoers.d/, tarkistakaa tiedosto komennolla visudo -c -f ennen käyttöönottoa ja asettakaa oikeuksiksi 0440 root:root
  • Käytöstä poistaminen — lukitkaa tili (usermod -L), arkistoikaa kotihakemisto ja poistakaa tili vasta sitten; älkää koskaan ohittako arkistointivaihetta
  • Dry-run-tila — ympäröikää tilaa muuttavat komennot run()-apuohjelmalla, jotta putket voivat tarkistaa logiikan ilman pääkäyttäjän oikeuksia edellyttäviä sivuvaikutuksia

Yhdistämällä nämä toimintamallit saatte toistettavan, auditoitavan ja turvallisen automaatiokerroksen Linuxin käyttäjä- ja käyttöoikeuksien hallintaan missä tahansa mittakaavassa.

Aloita maksutta

Opi Bash tekoälytuutorin avulla — ilmaiseksi

Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.

Kurssit
22
Oppitunnit
88

Usein kysytyt kysymykset

Onko oppitunti ”Käyttäjien ja ryhmien luonnin automatisointi” ilmainen?

Kyllä – oppitunnin ”Käyttäjien ja ryhmien luonnin automatisointi” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Linux-komentorivin ja Bash-komentosarjojen hallinta-kurssin, päivitä CoddyKit PROhon. Linux-komentorivin ja Bash-komentosarjojen hallinta-kurssilla on yhteensä 4 oppituntia.

Mitä opin oppitunnilla ”Käyttäjien ja ryhmien luonnin automatisointi”?

Luo, muokkaa ja tarkasta käyttäjätilejä suurina erinä useraddilla, chagella ja sudoers-osatiedostojen hallinnalla. Harjoittelet Linux-komentorivin ja Bash-komentosarjojen hallinta-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni Linux-komentorivin ja Bash-komentosarjojen hallinta-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin Linux-komentorivin ja Bash-komentosarjojen hallinta-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 1/4.

Kuinka kauan ”Käyttäjien ja ryhmien luonnin automatisointi”-oppitunnin suorittaminen kestää?

Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.

Voinko kirjoittaa ja suorittaa koodia tällä Linux-komentorivin ja Bash-komentosarjojen hallinta-oppitunnilla?

Kyllä. Jokainen Linux-komentorivin ja Bash-komentosarjojen hallinta-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.

Kaikki tämän kurssin oppitunnit

  1. Käyttäjien ja ryhmien luonnin automatisointi
  2. systemd-palveluiden hallinta ja unit-tiedostojen kirjoittaminen
  3. Levyjen, tiedostojärjestelmien ja liitosten automatisointi
  4. Järjestelmän kuntotarkistus- ja hälytysskriptien rakentaminen
← Takaisin: Linux-komentorivin ja Bash-komentosarjojen hallinta