Beetaversioon: sisu on enamasti terviklik ja avalikuks katsetamiseks valmis, kuid vajab veel tehnilist, keelelist ja kasutatavuse kontrolli.

Peatüki vaade

Linux/Unix/macOS käsurea kiirõpik

Praegu loed peatükki Kasutajad, grupid ja sudo, mis kuulub osasse Osa II: Süsteemi pilt ja haldus.

Kasutajad, grupid ja sudo

Loogika

Unix-laadsed süsteemid eeldavad, et igal tegevusel on tegija. Seetõttu on oluline aru saada, millise kasutajana sa töötad, millistesse gruppidesse kuulud ja millal on vaja kõrgemaid õigusi.

Kiirülevaade

Eesmärk on teha nähtavaks, kes käsu käivitab ja millal kasutatakse kõrgemaid õigusi.

KäskMilleksMida tavaliselt näed
whoaminäita praegust kasutajatüks kasutajanimi
idnäita kasutaja tunnuseid ja gruppepikem rida UID/GID ja gruppidega
groupsnäita gruppe lühemaltgrupinimede loend
sudo käskkäivita üks käsk kõrgemate õigustegaparooliviip või veateade
sudo -lkontrolli lubatud sudo käskelubade loend või keeld

Tüüpilised algaja vead

  • arvatakse, et sudo tähendab „paranda see käsk võluväel ära“
  • jäädakse pikaks ajaks root-i või kõrgemate õigustega shelli
  • käivitatakse ohtlik käsk sudo-ga enne, kui kontrollitakse, kus parajasti ollakse

Esimene kontroll


whoami
id
groups

Need kolm käsku ei muuda midagi. Võrdle nende üksikasjalikkust: whoami vastab ühe nimega, groups annab grupinimed lühidalt ja id näitab sama teavet tehnilisemalt UID/GID numbritega.


sudo -l

sudo -l kontrollib, milliseid kõrgemate õigustega käske sinu kasutaja käivitada tohib. Kui see küsib parooli, on see normaalne.

Miks ettevaatlik olla

sudo annab suure võimu. Vale käsk kõrgemate õigustega võib:

  • kustutada süsteemifaile
  • muuta õigusi valesti
  • paigaldada või eemaldada tarkvara

Seega tasub enne sudo käivitamist mõelda, kas seda on päriselt vaja.

Mis on root

root on Unix-laadsete süsteemide eriline administraatori kasutaja.

Oluline loogika:

  • tavakasutaja töötab piiratud õigustega
  • root võib peaaegu kõike
  • sudo annab tavakasutajale võimaluse käivitada mõni üksik käsk ajutiselt kõrgemate õigustega

Seega ei ole root ja sudo päris sama asi:

  • root on kasutaja
  • sudo on tööriist, millega mõni käsk käivitatakse kõrgemate õigustega

Kuidas root viibas ära tunda

Sageli on root-kasutaja viiba lõpus märk #, tavakasutajal aga $ või %.

Näited:


kasutaja@mac proov % whoami
kasutaja

root@server:/etc# whoami
root

See ei ole küll absoluutne reegel, kuid väga levinud rusikareegel on:

  • $ või % tähendab tavakasutajat
  • # tähendab, et tasub olla eriti ettevaatlik

Kui on kahtlus, kontrolli alati:


whoami
id

sudo käsk vs sudo -i vs su -

Kõige ohutum tavakasutus on enamasti:


sudo käsk

Näiteks:


sudo apt update
sudo systemctl restart ssh

See on hea, sest kõrgemad õigused kehtivad ainult sellele ühele käsule.

On olemas ka kujud:


sudo -i
su -

Need annavad sulle root-shelli või vahetavad kasutajat. See tähendab, et järgmised käsud töötavad juba kõrgemate õigustega seni, kuni sellest shellist väljud.

Algajale on see riskantsem, sest:

  • viip võib muutuda
  • iga järgmine käsk võib teha suurema mõjuga muudatuse
  • on lihtne unustada, et sa ei ole enam tavakasutaja

Seepärast on hea algreegel:

  • eelista sudo käsk
  • väldi püsivat root-shelli, kui selleks ei ole selget põhjust

Mida root-ina mitte teha

Hea ettevaatusreegel on: ära tee harjutusi, failide sorteerimist ega igapäevast tekstitööd root-kasutajana.

Väldi eriti:

  • rm -rf käske root-kasutajana
  • failide juhuslikku chown või chmod muutmist süsteemikaustades
  • harjumust „kui ei tööta, siis pane sudo ette“

Parem mõtteviis on:

  1. proovi käsku tavakasutajana
  2. loe veateadet
  3. mõtle, kas probleem on õigustes või hoopis milleski muus
  4. kasuta sudo ainult siis, kui tead, miks seda vaja on

Minitest

  1. Vaata oma kasutaja gruppe.
  2. Uuri, milliseid käske tohib sinu kasutaja sudo abil käivitada.
  3. Selgita oma sõnadega, miks sudo rm -rf ... on ohtlik.
  4. Selgita ühe lausega, mis vahe on root kasutajal ja käsul sudo.

Peatüki täisspikker

Baas ja süsteemipilt

Eesmärk

õpi nägema, millise kasutajana sa töötad, millistes gruppides oled ja millal on sudo päriselt vajalik

Põhikujud

  • whoamikontrolli kasutajat
  • idloe grupid välja
  • groupsvaata grupinimesid
  • sudo -lvaata sudo õigusi
  • sudo apt updateüks kõrgem käsk
  • su - kasutajavaheta kasutajat

Olulised märgid ja rollid

  • $tavaline kasutaja
  • %teine levinud tavaviip
  • #root või kõrgemad õigused
  • rootadministraatori kasutaja
  • sudo -iava kõrgem shell
  • sudo käskeelista ühte käsku