Pāriet uz saturu

Sīkdatņu iestatījumi

Izvēlieties, kāda veida sīkdatnes atļaujat. Savu izvēli varat jebkurā laikā mainīt sadaļā Sīkdatņu iestatījumi katras lapas apakšā. Privātuma politika

Nepieciešamās

Vienmēr ieslēgtas

Vajadzīgas, lai pieteiktos, saglabātu grozu un atcerētos Jūsu izvēles. Tās vienmēr ir ieslēgtas.

Kuras sīkdatnes?
  • weboke_sessie, weboke_klant, weboke_remember: Jūsu sesija un pieteikšanās saglabāšana
  • weboke_basket: Jūsu grozs
  • wkBtwIncl: cenu rādīšana ar PVN vai bez PVN
  • wok_cookies: Jūsu sīkdatņu izvēle, 12 mēneši

Mēra, kura reklāma noved pie apmeklējuma vai pasūtījuma, lai mēs nemaksātu par reklāmām, kas neko nedod.

Kuras sīkdatnes?
  • Google Ads ar Google Tag Manager (_gcl_au, _gcl_aw), līdz 90 dienām
  • OpenAI Ads, reklāmas ChatGPT
  • wok_aff: caur kuru partneri nonācāt pie mums (partneru programma), 60 dienas

4,6

Valsts un valoda

Katrai valstij ir sava vietne ar attiecīgās valsts cenām un PVN.

Skatīt

Lietotāji, grupas un failu tiesības

3. modulis: Lietotāji, tiesības un sudo · Lasīšanas laiks: 12 min.

Mācīšanās mērķis: Pēc šīs nodarbības Jūs varēsiet izveidot un apskatīt lietotājus un grupas, nolasīt faila vai mapes tiesības komandas ls -l izvadē un pareizi tās iestatīt ar chmod un chown, neatverot visu visiem.

Pamatjēdzieni: root (UID 0), parasts lietotājs, sistēmas lietotājs, /etc/passwd, /etc/shadow, grupa, adduser, id, rwx, īpašnieks, grupa, citi, oktālais skaitlis (644, 755, 600), chmod, chown, umask, setuid, 777

Ikviens ir skaitlis

Linux jau no paša sākuma ir veidots vairākiem lietotājiem uz vienas mašīnas. Katrs process, kas darbojas, darbojas kāda lietotāja vārdā, un katram failam ir īpašnieks. Sistēmai lietotājs galvenokārt ir skaitlis, UID:

  • root ir UID 0. Root drīkst visu: lasīt un mainīt jebkuru failu, apturēt jebkuru pakalpojumu, izveidot jebkuru lietotāju. Nav nekāda "vai tiešām esat pārliecināti".
  • Parastie lietotāji, piemēram, anna, Debian un Ubuntu sistēmās saņem UID, sākot no 1000. Viņi drīkst rakstīt savā mājas mapē, bet citur maz ko.
  • Sistēmas lietotājiem ir mazs numurs, un parasti viņiem nav ne paroles, ne čaulas. Pakalpojumi darbojas šāda lietotāja vārdā: nginx kā www-data, PostgreSQL kā postgres. Ja šādu pakalpojumu uzlauž, ielauzējam ir tikai šī lietotāja tiesības, nevis root tiesības.

Kas Jūs esat, varat redzēt ar id:

anna@web1:~$ id
uid=1000(anna) gid=1000(anna) groups=1000(anna),27(sudo),100(users)

Annai ir UID 1000, sava grupa anna, un viņa ir arī grupās sudo un users.

Kur glabājas lietotāji

Lietotāju saraksts atrodas failā /etc/passwd, viena rinda katram lietotājam:

anna@web1:~$ grep -E '^(root|www-data|anna):' /etc/passwd
root:x:0:0:root:/root:/bin/bash
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
anna:x:1000:1000:Anna,,,:/home/anna:/bin/bash

Lauki, atdalīti ar kolu: vārds, x (parole glabājas citur), UID, galvenā grupa, apraksts, mājas mape, čaula. Lietotājam www-data kā čaula norādīts /usr/sbin/nologin: pieteikties nav iespējams.

Pašas paroles glabājas šifrētā (jaucējfunkcijas) veidā failā /etc/shadow. Šo failu var lasīt tikai root. ! vai * paroles lauka sākumā nozīmē: pieteikties ar paroli nav iespējams. Tādā veidā root pēc noklusējuma ir bloķēts Ubuntu sistēmā, kā arī Debian sistēmā, ja instalēšanas laikā nenorādījāt root paroli.

Lietotāju un grupu izveide

Debian un Ubuntu sistēmās izmantojiet draudzīgo adduser:

root@web1:~# adduser anna
info: Adding user `anna' ...
info: Adding new group `anna' (1000) ...
info: Adding new user `anna' (1000) with group `anna (1000)' ...
info: Creating home directory `/home/anna' ...
info: Copying files from `/etc/skel' ...
New password:
Retype new password:
...

adduser izveido lietotāju, savu grupu ar tādu pašu nosaukumu, mājas mapi un pieprasa paroli. Pastāv arī zemāka līmeņa useradd (un AlmaLinux un Rocky Linux sistēmās tā ir parastā komanda), taču bez opcijām tā dara mazāk: nav paroles, un dažās sistēmās nav mājas mapes.

Grupa ir veids, kā piešķirt tiesības vairākiem lietotājiem vienlaikus. Lietotāja pievienošana grupai:

root@web1:~# adduser anna www-data
root@web1:~# usermod -aG www-data anna     # tas pats, darbojas visur

Pievērsiet uzmanību -a pie usermod: bez -a Jūs aizstājat visas lietotāja papildu grupas tikai ar šo vienu. Jauna grupa stājas spēkā tikai pēc atkārtotas pieteikšanās.

Konta slēgšana, to neizdzēšot (piemēram, bijušam kolēģim):

root@web1:~# usermod -L -e 1 jan

-L bloķē paroli, -e 1 padara kontu novecojušu. Uzmanību: bloķēta parole ne vienmēr aptur SSH atslēgu. Tāpēc izņemiet arī atslēgas no /home/jan/.ssh/authorized_keys (nodarbība 2.3); novecojušu kontu (-e 1) sshd gan atraida.

Tiesību nolasīšana

anna@web1:~$ ls -l /var/www/example.com
total 12
-rw-r--r-- 1 anna     www-data  1520 Nov  9 10:12 index.html
-rw-r----- 1 anna     www-data   412 Nov  9 10:14 config.php
drwxr-xr-x 2 anna     www-data  4096 Nov  9 10:15 images
drwxrwxr-x 2 www-data www-data  4096 Nov  9 10:20 uploads

Pirmais desmit rakstzīmju bloks ir atslēga visam:

  • 1. rakstzīme: veids. - ir parasts fails, d mape (direktorija), l saīsne (simboliskā saite).
  • 2. līdz 4. rakstzīme: ko drīkst īpašnieks.
  • 5. līdz 7. rakstzīme: ko drīkst grupa.
  • 8. līdz 10. rakstzīme: ko drīkst citi (visi pārējie).

Pēc tam seko saišu skaits, īpašnieks, grupa, izmērs un datums.

Burtu nozīme failam:

BurtsNozīme failam
rlasīt
wmainīt
xizpildīt kā programmu vai skriptu

Un mapei mazliet citādi:

BurtsNozīme mapei
riegūt mapē esošo failu nosaukumus
wizveidot, pārdēvēt un dzēst failus mapē
xieiet mapē un atvērt tajā esošos failus

Pēdējais daudzus pārsteidz. Bez x mapei Jūs netiekat pie tajā esošajiem failiem, pat ja tie paši ir lasāmi. Un tas, kam ir w uz mapi, var tajā dzēst failus, pat ja tie pieder kādam citam.

Piemērā: index.html drīkst lasīt visi; config.php (ar datubāzes paroli) Anna drīkst lasīt un mainīt, grupa www-data (tātad tīmekļa serveris) tikai lasīt, bet pārējie neko. Mapē uploads tīmekļa serveris drīkst rakstīt, jo tur nonāk apmeklētāju augšupielādes.

Tiesības kā skaitlis

Tiesības bieži raksta kā trīs ciparus, oktālo skaitli. Katram burtam ir vērtība: r = 4, w = 2, x = 1. Saskaitiet katrai grupai:

TiesībasSkaitlisLietojums
rw-r--r--644parasts fails, ko drīkst lasīt visi
rw-r-----640fails īpašniekam un grupai, piemēram, konfigurācija ar paroli
rw-------600slepens fails, piemēram, authorized_keys vai privātā atslēga
rwxr-xr-x755mape vai programma, ko drīkst izmantot visi
rwx------700privāta mape, piemēram, ~/.ssh

Tiesību maiņa: chmod un chown

anna@web1:~$ chmod 640 /var/www/example.com/config.php
anna@web1:~$ chmod g+w /var/www/example.com/uploads
root@web1:~# chown anna:www-data /var/www/example.com/config.php

chmod maina tiesības ar skaitli vai ar burtiem (u, g, o īpašniekam, grupai, citiem; + vai - un burts). chown eigenaar:groep maina īpašnieku un grupu; to drīkst tikai root. Ar -R abas darbojas uz visu mapi, un tieši tur bieži rodas kļūdas: chmod -R 644 uz mapi padara visas apakšmapes nelietojamas, jo mapēm vajadzīgs x. Visam kokam labāk izmantojiet find:

root@web1:~# find /var/www/example.com -type d -exec chmod 755 {} +
root@web1:~# find /var/www/example.com -type f -exec chmod 644 {} +

Nekad 777

"Nestrādāja, tāpēc uzliku 777." 777 nozīmē: ikviens serverī drīkst to lasīt, mainīt un izpildīt. Ja kādreiz Jūsu serverī kaut viens pakalpojums vai viena vietne tiek kompromitēta, ielauzējs var rakstīt visur, kur ir 777, ieskaitot Jūsu PHP failus. Īstā problēma gandrīz vienmēr ir īpašnieks vai grupa: caur grupu piešķiriet tīmekļa serverim tieši tās tiesības, kas tam vajadzīgas, un tikai tajā mapē, kur tās vajadzīgas.

Noklusējuma tiesības un īpašie biti

Jaunie faili tiesības saņem ar umask palīdzību. Ar ierasto umask 022 jaunie faili kļūst 644, bet jaunās mapes 755. Savu umask varat redzēt ar komandu umask.

Dažreiz x vietā redzams s, piemēram, pie /usr/bin/passwd (-rwsr-xr-x). Tas ir setuid bits: programma darbojas ar īpašnieka (root) tiesībām, pat ja to palaiž parasts lietotājs. Tas ir vajadzīgs dažām sistēmas programmām, taču nekad neuzlieciet to pats uz skripta. Negaidīts setuid fails ir labi zināma ielaušanās pazīme; ar find / -perm -4000 -type f 2>/dev/null Jūs redzat tos visus.

AlmaLinux un Rocky Linux sistēmās

adduser tur ir cits nosaukums komandai useradd; izmantojiet useradd -m anna un pēc tam passwd anna. Grupas pievieno ar usermod -aG. SELinux pievieno papildu slāni līdzās šajā nodarbībā aplūkotajām tiesībām: failam ar pareizām tiesībām piekļuvi tomēr var atteikt, ja tam ir nepareiza SELinux etiķete (ls -Z to parāda).

Kopsavilkums

  • Katram lietotājam ir UID; root (0) drīkst visu, pakalpojumi darbojas ar saviem sistēmas lietotājiem bez čaulas.
  • Lietotāji atrodas failā /etc/passwd, paroļu jaucējvērtības failā /etc/shadow. Izveidojiet lietotājus ar adduser un pievienojiet grupas ar usermod -aG.
  • ls -l parāda veidu, īpašnieka, grupas un citu tiesības, un pēc tam īpašnieku un grupu. Mapei x nozīmē ieiešanu, bet w failu izveidi un dzēšanu.
  • Ierastie skaitļi: 644 un 755 publiskiem failiem, 640 konfigurācijai ar noslēpumiem, 600 un 700 privātiem. Nekad 777.
  • Izmantojiet find, lai iestatītu tiesības visam kokam; uzmaniet setuid failus.

Tests (quiz)

1. Ko nozīmē -rw-r----- failam ar īpašnieku anna un grupu www-data?



2. Kas notiek, ja mapei ir tiesības drw-r--r-- (tātad nekur nav x)?



3. Jūs izpildāt usermod -G www-data anna (bez -a). Kādas ir sekas?



4. Spraudnis nevar rakstīt mapē /var/www/example.com/uploads. Kāds ir labākais risinājums?



5. Kāpēc nginx darbojas kā lietotājs www-data, nevis kā root?



Uzdevums

Uzdevums Z3.1: Tiesību nolasīšana. Atveriet piemēra failu rechten-1.txt: komandas id izvadi trim lietotājiem un komandas ls -l izvadi tīmekļa mapē. Katrā jautājumā atbildiet, kas ko drīkst (piemēram: "vai tīmekļa serveris var mainīt config.php?", "kuram failam ir pārāk plašas tiesības?", "kāds skaitlis atbilst .env?"). Programma salīdzina Jūsu atbildes ar fiksēto atslēgu un katram jautājumam paskaidro, kāpēc.

Uzdevums Z3.1: Tiesību nolasīšana

Fails šim uzdevumam: rechten-1.txt










To, ko ievadāt, un to, ko atrodam, mēs nesaglabājam. Jūsu pārlūkprogramma atceras Jūsu atbildes un to, vai esat izpildījuši uzdevumu. Ja esat pieteikušies, sadaļā Mani kursi saglabājam tikai to, ka uzdevums bija (gandrīz) pareizs; tur to varat arī dzēst.

Vairāk lasīt

Šajos rakstos aprakstītie soļi attiecas uz WebOké hostinga plāniem un VPS; pie citiem pakalpojumu sniedzējiem tas darbojas līdzīgi.

Lūdzu, uzgaidiet…

Iestatiet savus domēnus

Katram domēnam norādiet vārdu serverus, piesaisti hostingam un to, kurš būs turētājs.

Ielādē Jūsu domēnus…