Käyttäjien ja ryhmien luonnin automatisointi
Luo, muokkaa ja tarkasta käyttäjätilejä suurina erinä useraddilla, chagella ja sudoers-osatiedostojen hallinnalla.
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/zshJä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"
doneKä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"
fiAlustavien 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 randtai lähteestä/dev/urandom, tulostakaa se kerran ja pakottakaa käyttäjä vaihtamaan se ensimmäisen kirjautumisen yhteydessä - Asettakaa valmiiksi hajautettu salasana komennolla
usermod -pkä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"
doneRyhmien 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
0440ja omistajaksiroot: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/shadowsalasanakenttä on tyhjä tai sisältää merkin! - Vanhentuneet mutta aktiiviset tilit — komennon
chage -ltuloste 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:
- Lukitkaa tili välittömästi (
usermod -L) — komento lisää!-merkin shadow-salasanahajautteen eteen, mikä estää kirjautumisen poistamatta tietoja - Perukaa sudo-oikeudet — poistakaa käyttäjän sudoers-katkelma, jos sellainen on olemassa
- Siirtäkää tiedostojen omistajuus esihenkilölle tai arkistotilille
- Arkistoikaa kotihakemisto tar-paketiksi ennen poistamista
- 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 || trueMitä 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 komennollaididempotenttisuuden varmistamiseksi- Salasanat — asettakaa ne
chpasswd-komennon vakiotulon kautta, jotta selväkielinen salasana ei päädy prosessiargumentteihin; pakottakaa vaihto ensimmäisen kirjautumisen yhteydessä komennollachage -d 0 chagekä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 -atai komentoausermod -aG(valitsimen-akanssa), jotta jäsenyydet lisätään eikä korvata - sudoers drop-in -tiedostot — kirjoittakaa hakemistoon
/etc/sudoers.d/, tarkistakaa tiedosto komennollavisudo -c -fennen käyttöönottoa ja asettakaa oikeuksiksi0440 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.
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
- Käyttäjien ja ryhmien luonnin automatisointi
- systemd-palveluiden hallinta ja unit-tiedostojen kirjoittaminen
- Levyjen, tiedostojärjestelmien ja liitosten automatisointi
- Järjestelmän kuntotarkistus- ja hälytysskriptien rakentaminen