Failiõiguste lugemine ja õigeks seadmine oma VPS-is
Igal failil ja kaustal sinu VPS-is on omanik, grupp ja õigused. Kui need on liiga laiad, saab häkitud veebisait või teenus kõikjale kirjutada. Kui need on liiga ranged, saad vigu nagu "Permission denied" või veebisaidil vea 403. Siit loed, kuidas õigusi lugeda ja õigesti seada. Kui sul on DirectAdminiga majutuspakett, vaata artiklit Keelatud (403): sul pole õigust avada / selles serveris.
Õiguste lugemine käsuga ls -l
ls -l /var/www/example.com -rw-r--r-- 1 anna www-data 1520 index.html -rw-r----- 1 anna www-data 412 config.php drwxr-xr-x 2 anna www-data 4096 images drwxrwxr-x 2 www-data www-data 4096 uploads
Esimene märk näitab tüüpi: - on fail, d kaust, l otsetee. Seejärel tuleb kolm kolmemärgilist rühma: mida tohib omanik, mida tohib grupp ja mida tohivad kõik teised. Edasi on kirjas omanik (anna) ja grupp (www-data).
| Täht | Faili puhul | Kausta puhul |
|---|---|---|
r | Lugemine | Kaustas olevate nimede küsimine |
w | Muutmine | Failide loomine, ümbernimetamine ja kustutamine |
x | Käivitamine programmina | Kausta sisenemine ja seal olevate failide avamine |
Pane tähele kahte asja. Ilma kausta x-õiguseta ei pääse sa selles olevatele failidele ligi, isegi kui need on loetavad. Ja kellel on kaustale w-õigus, saab sealt faile kustutada, ka siis, kui need kuuluvad kellelegi teisele.
Õigused numbritena
Sageli kirjutatakse õigused kolme numbrina: r on 4, w 2 ja x 1, mis liidetakse iga rühma kohta kokku.
| Number | Õigused | Kasutus |
|---|---|---|
| 644 | rw-r--r-- | Tavaline fail, näiteks veebileht või pilt |
| 755 | rwxr-xr-x | Kaust või programm, mida tohivad kasutada kõik |
| 640 | rw-r----- | Parooliga konfiguratsioon, mida veebiserver saab grupi kaudu lugeda |
| 600 | rw------- | Salajane fail, näiteks authorized_keys, privaatvõti või .env-fail |
| 700 | rwx------ | Privaatne kaust, näiteks ~/.ssh |
Õiguste ja omaniku muutmine
chmod 640 /var/www/example.com/config.php chmod g+w /var/www/example.com/uploads sudo chown anna:www-data /var/www/example.com/config.php
chmod muudab õigusi, kas numbri või tähtedega (u, g, o tähendavad omanikku, gruppi ja teisi, koos märgiga + või -). chown omanik:grupp muudab omanikku ja gruppi; seda tohib teha ainult root, seega kasuta sudo.
Terve kausta puhul on chmod -R 644 tuntud viga: kõik alamkaustad kaotavad siis oma x-õiguse ja muutuvad kasutuskõlbmatuks. Sea kaustade ja failide õigused eraldi käsuga find:
sudo find /var/www/example.com -type d -exec chmod 755 {} +
sudo find /var/www/example.com -type f -exec chmod 644 {} +
Veebiserver grupi kaudu
Debianis ja Ubuntus töötavad nginx ja PHP-FPM vaikimisi kasutaja www-data all. Korralik jaotus: sina oled failide omanik, grupp on www-data. Veebiserver saab siis grupi kaudu lugeda ja kirjutada ainult sellesse kausta, kus see on tõesti vajalik, näiteks uploads (chmod g+w või omanik www-data ainult sellel kaustal). Ära anna veebiserverile kirjutusõigust oma PHP-failidele.
777. Siis tohib igaüks serveris faili või kausta lugeda, muuta ja käivitada. Kui mõni veebisait või teenus kunagi rünnaku alla satub, saab sissetungija kirjutada kõikjale, kus on 777. Tegelik probleem on peaaegu alati omanik või grupp: lahenda see, selle asemel et kõike lahti teha.Õigused SSH jaoks
SSH-server kontrollib sinu võtmete õigusi. Kui teised saavad kirjutada sinu .ssh-kausta või kodukausta, eirab server sinu võtit ja küsitakse jälle parooli, ilma selge veateateta. Sea need nii:
chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys
Kui lõid kausta root-kasutajana teisele kasutajale, sea ka omanik õigeks, nagu artiklis Oma kasutaja sudo õigustega. AlmaLinuxis ja Rocky Linuxis võib ka SELinux keelata juurdepääsu failile, millel on õiged õigused; käsitsi loodud .ssh-kausta puhul aitab restorecon -Rv ~/.ssh.
x asemel tähte s, näiteks failil /usr/bin/passwd? See on setuid-bitt: programm töötab siis omaniku õigustega. Mõned süsteemiprogrammid vajavad seda, kuid ära kunagi sea seda ise skriptile. Ootamatu setuid-fail võib viidata sissetungile, vaata artiklit Häkitud? Esimesed sammud.Tahad rohkem teada? Läbi tasuta kursus VPS ja Linuxi serveri haldus, õppetund 3.1 Kasutajad, grupid ja failiõigused.
