Pereiti prie turinio

Slapukų nustatymai

Pasirinkite, kokių rūšių slapukus leidžiate. Pasirinkimą bet kada galite pakeisti per „Slapukų nustatymai“ kiekvieno puslapio apačioje. Privatumo pareiškimas

Būtinieji

Visada įjungti

Reikalingi prisijungti, išsaugoti krepšelį ir įsiminti Jūsų pasirinkimus. Jie visada įjungti.

Kokie slapukai?
  • weboke_sessie, weboke_klant, weboke_remember: Jūsų sesija ir prisijungimo išlaikymas
  • weboke_basket: Jūsų krepšelis
  • wkBtwIncl: kainų rodymas su PVM arba be PVM
  • wok_cookies: Jūsų slapukų pasirinkimas, 12 mėnesių

Matuoja, kuri reklama atveda prie apsilankymo ar užsakymo, kad nemokėtume už neveiksmingas reklamas.

Kokie slapukai?
  • Google Ads per Google Tag Manager (_gcl_au, _gcl_aw), iki 90 dienų
  • OpenAI Ads, reklamos ChatGPT
  • wok_aff: per kurį partnerį atėjote pas mus (partnerių programa), 60 dienų

4,6

Šalis ir kalba

Kiekviena šalis turi savo svetainę su tos šalies kainomis ir PVM.

Peržiūrėti

Naudotojai, grupės ir failų teisės

3 modulis: Naudotojai, teisės ir sudo · Skaitymo laikas: 12 min.

Mokymosi tikslas: Po šios pamokos galėsite kurti ir peržiūrėti naudotojus bei grupes, skaityti failo ar katalogo teises ls -l išvestyje ir teisingai jas nustatyti su chmod ir chown, neatverdami visko visiems.

Pagrindinės sąvokos: root (UID 0), paprastas naudotojas, sisteminis naudotojas, /etc/passwd, /etc/shadow, grupė, adduser, id, rwx, savininkas, grupė, kiti, aštuntainis skaičius (644, 755, 600), chmod, chown, umask, setuid, 777

Kiekvienas yra numeris

Linux nuo pat pradžių buvo kuriama keliems naudotojams viename kompiuteryje. Kiekvienas veikiantis procesas veikia kurio nors naudotojo vardu, o kiekvienas failas turi savininką. Sistemai naudotojas pirmiausia yra numeris, UID:

  • root turi UID 0. Root gali viską: skaityti ir keisti bet kurį failą, sustabdyti bet kurią paslaugą, sukurti bet kurį naudotoją. Jokio klausimo „ar tikrai?“ nėra.
  • Paprasti naudotojai, pavyzdžiui, anna, Debian ir Ubuntu sistemose gauna UID nuo 1000. Jie gali rašyti savo namų kataloge ir ne ką daugiau.
  • Sisteminiai naudotojai turi mažą numerį ir dažniausiai neturi nei slaptažodžio, nei apvalkalo (shell). Paslaugos veikia tokio naudotojo vardu: nginx veikia kaip www-data, PostgreSQL kaip postgres. Jei tokia paslauga būtų nulaužta, įsilaužėlis turėtų tik to naudotojo teises, o ne root teises.

Kas Jūs esate, parodo id:

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

Anna turi UID 1000, savo grupę anna ir taip pat priklauso grupėms sudo ir users.

Kur saugomi naudotojai

Naudotojų sąrašas yra faile /etc/passwd, po vieną eilutę kiekvienam naudotojui:

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

Laukai, atskirti dvitaškiais: vardas, x (slaptažodis saugomas kitur), UID, pagrindinė grupė, aprašymas, namų katalogas, apvalkalas. Prie www-data kaip apvalkalas nurodyta /usr/sbin/nologin: prisijungti neįmanoma.

Patys slaptažodžiai užšifruoti (maišos pavidalu) saugomi faile /etc/shadow. Šį failą gali skaityti tik root. Ženklas ! arba * slaptažodžio lauko pradžioje reiškia: prisijungti slaptažodžiu neįmanoma. Taip Ubuntu sistemoje root pagal numatytuosius nustatymus yra užrakintas, o Debian sistemoje taip yra tada, jei diegdami nenurodėte root slaptažodžio.

Naudotojų ir grupių kūrimas

Debian ir Ubuntu sistemose naudojama patogi komanda 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 sukuria naudotoją, to paties pavadinimo grupę, namų katalogą ir paprašo slaptažodžio. Yra ir žemesnio lygio useradd (AlmaLinux ir Rocky Linux sistemose tai įprasta komanda), tačiau be parinkčių ji padaro mažiau: nesukuria slaptažodžio, o kai kuriose sistemose ir namų katalogo.

Grupė leidžia suteikti teises keliems naudotojams vienu metu. Naudotojo įtraukimas į grupę:

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

Atkreipkite dėmesį į -a prie usermod: be -a visas papildomas naudotojo grupes pakeisite tik šia viena. Nauja grupė įsigalioja tik prisijungus iš naujo.

Paskyros užrakinimas jos nepašalinant (pavyzdžiui, buvusio kolegos):

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

-L užrakina slaptažodį, -e 1 padaro paskyrą nebegaliojančia. Dėmesio: užrakintas slaptažodis ne visada sustabdo SSH raktą. Todėl pašalinkite ir raktus iš /home/jan/.ssh/authorized_keys (pamoka 2.3); nebegaliojančios paskyros (-e 1) sshd neįleidžia.

Teisių skaitymas

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

Pirmasis dešimties ženklų blokas yra viso to raktas:

  • 1 ženklas: tipas. - yra paprastas failas, d katalogas (directory), l nuoroda (symlink).
  • 2-4 ženklai: ką gali savininkas.
  • 5-7 ženklai: ką gali grupė.
  • 8-10 ženklai: ką gali kiti (visi likę).

Toliau eina saitų skaičius, savininkas, grupė, dydis ir data.

Raidės failo atveju reiškia:

RaidėReikšmė failui
rskaityti
wkeisti
xvykdyti kaip programą ar scenarijų

O katalogo atveju šiek tiek ką kita:

RaidėReikšmė katalogui
rgauti kataloge esančių failų pavadinimus
wkurti, pervadinti ir šalinti failus kataloge
xįeiti į katalogą ir atidaryti jame esančius failus

Paskutinis punktas daugelį nustebina. Be x kataloge nepasieksite jame esančių failų, net jei patys failai yra skaitomi. O tas, kas turi w katalogui, gali jame šalinti failus, net jei jie priklauso kitam.

Pavyzdyje: index.html gali skaityti visi; config.php (su duomenų bazės slaptažodžiu) Anna gali skaityti ir keisti, grupė www-data (taigi žiniatinklio serveris) tik skaityti, o kiti nieko. Į uploads žiniatinklio serveris gali rašyti, nes ten patenka lankytojų įkelti failai.

Teisės kaip skaičius

Teisės dažnai užrašomos trimis skaitmenimis, aštuntainiu skaičiumi. Kiekviena raidė turi vertę: r = 4, w = 2, x = 1. Sudėkite kiekvienai grupei:

TeisėsSkaičiusNaudojimas
rw-r--r--644paprastas failas, kurį gali skaityti visi
rw-r-----640failas savininkui ir grupei, pavyzdžiui, konfigūracija su slaptažodžiu
rw-------600slaptas failas, pavyzdžiui, authorized_keys arba privatusis raktas
rwxr-xr-x755katalogas ar programa, kuria gali naudotis visi
rwx------700privatus katalogas, pavyzdžiui, ~/.ssh

Teisių keitimas: chmod ir 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 keičia teises skaičiumi arba raidėmis (u, g, o savininkui, grupei, kitiems; + arba - ir raidė). chown eigenaar:groep keičia savininką ir grupę; tai gali daryti tik root. Su -R abi komandos veikia visam katalogui, ir būtent čia dažnai suklystama: chmod -R 644 kataloge padaro visus pakatalogius nebenaudojamus, nes katalogams reikia x. Visam medžiui geriau naudokite 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 {} +

Niekada 777

„Neveikė, tai nustačiau 777.“ 777 reiškia: kiekvienas serveryje gali tai skaityti, keisti ir vykdyti. Jei kada nors nepavyks apsaugoti bent vienos paslaugos ar svetainės Jūsų serveryje, įsilaužėlis galės rašyti visur, kur nustatyta 777, įskaitant Jūsų PHP failus. Tikroji problema beveik visada yra savininkas arba grupė: per grupę suteikite žiniatinklio serveriui tiksliai tas teises, kurių jam reikia, ir tik tame kataloge, kur jų reikia.

Numatytosios teisės ir specialieji bitai

Nauji failai teises gauna per umask. Esant įprastai umask reikšmei 022, nauji failai gauna 644, o nauji katalogai 755. Savo umask matysite su komanda umask.

Kartais vietoj x matysite s, pavyzdžiui, prie /usr/bin/passwd (-rwsr-xr-x). Tai setuid bitas: programa veikia su savininko (root) teisėmis, net jei ją paleidžia paprastas naudotojas. To reikia kelioms sistemos programoms, tačiau niekada nenustatykite jo patys scenarijui. Netikėtas setuid failas yra žinomas įsilaužimo požymis; su find / -perm -4000 -type f 2>/dev/null pamatysite juos visus.

AlmaLinux ir Rocky Linux sistemose

Ten adduser yra kitas useradd pavadinimas; naudokite useradd -m anna, o po to passwd anna. Grupės pridedamos su usermod -aG. SELinux prideda papildomą sluoksnį šalia šioje pamokoje aptartų teisių: failui su teisingomis teisėmis prieiga vis tiek gali būti atmesta, jei jam priskirta neteisinga SELinux žymė (ją parodo ls -Z).

Santrauka

  • Kiekvienas naudotojas turi UID; root (0) gali viską, paslaugos veikia savo sisteminių naudotojų be apvalkalo vardu.
  • Naudotojai saugomi /etc/passwd, slaptažodžių maišos /etc/shadow. Naudotojus kurkite su adduser, o grupes pridėkite su usermod -aG.
  • ls -l rodo tipą, savininko, grupės ir kitų teises, o po to savininką ir grupę. Katalogo atveju x reiškia įėjimą, o w failų kūrimą ir šalinimą.
  • Įprasti skaičiai: 644 ir 755 viešiems failams, 640 konfigūracijai su paslaptimis, 600 ir 700 privatiems. Niekada 777.
  • Teisėms visam medžiui nustatyti naudokite find; stebėkite setuid failus.

Testas (quiz)

1. Ką reiškia -rw-r----- failui, kurio savininkas anna, o grupė www-data?



2. Kas nutinka, jei katalogas turi teises drw-r--r-- (t. y. niekur nėra x)?



3. Jūs vykdote usermod -G www-data anna (be -a). Kokia to pasekmė?



4. Įskiepis negali rašyti į /var/www/example.com/uploads. Koks geriausias sprendimas?



5. Kodėl nginx veikia kaip naudotojas www-data, o ne kaip root?



Užduotis

Užduotis Z3.1: Teisių skaitymas. Atidarykite pavyzdinį failą rechten-1.txt: jame yra id išvestis trims naudotojams ir ls -l išvestis žiniatinklio katalogui. Kiekvienam klausimui atsakykite, kas ką gali (pavyzdžiui: „ar žiniatinklio serveris gali keisti config.php?“, „kuris failas turi per plačias teises?“, „koks skaičius atitinka .env?“). Programa palygina Jūsų atsakymus su nustatytu raktu ir prie kiekvieno klausimo paaiškina, kodėl.

Užduotis Z3.1: Teisių skaitymas

Failas šiai užduočiai: rechten-1.txt










Ko, ką įvedate ir ką randame, nesaugome. Jūsų naršyklė atsimena Jūsų atsakymus ir tai, ar užduotį atlikote. Jei esate prisijungę, skiltyje Mano kursai išsaugome tik tai, kad užduotis buvo atlikta (ar beveik atlikta); ten tai galite ir pašalinti.

Skaitykite daugiau

Šiuose straipsniuose aprašyti veiksmai taikomi WebOké prieglobos planams ir VPS; pas kitus teikėjus viskas veikia panašiai.

Akimirką…

Nustatykite domenus

Kiekvienam domenui nustatykite vardų serverius, susiejimą su talpinimu ir tai, kas taps valdytoju.

Įkeliami Jūsų domenai…