Failu atļauju nolasīšana un pareiza iestatīšana Jūsu VPS
Katram failam un katrai mapei Jūsu VPS ir īpašnieks, grupa un tiesības. Ja tās ir pārāk plašas, uzlauzta vietne vai pakalpojums var rakstīt jebkur. Ja tās ir pārāk stingras, Jūs saņemat tādas kļūdas kā "Permission denied" vai 403 savā vietnē. Šeit uzzināsiet, kā nolasīt tiesības un kā tās pareizi iestatīt. Ja Jums ir hostinga pakete ar DirectAdmin, skatiet rakstu Aizliegts (403): Jums nav atļaujas piekļūt / šajā serverī.
Tiesību nolasīšana ar 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
Pirmā rakstzīme norāda veidu: - ir fails, d ir mape, l ir saīsne. Pēc tam seko trīs grupas pa trim rakstzīmēm: ko drīkst īpašnieks, ko drīkst grupa un ko drīkst visi pārējie. Tālāk ir norādīts īpašnieks (anna) un grupa (www-data).
| Burts | Failam | Mapei |
|---|---|---|
r | Lasīt | Iegūt mapē esošo nosaukumu sarakstu |
w | Mainīt | Izveidot, pārdēvēt un dzēst failus |
x | Izpildīt kā programmu | Ieiet mapē un atvērt tajā esošos failus |
Ievērojiet divas lietas. Bez x mapei Jūs nevarat piekļūt tajā esošajiem failiem, pat ja tie ir lasāmi. Un tas, kam ir w mapei, var dzēst tajā esošos failus, pat ja tie pieder kādam citam.
Tiesības kā skaitlis
Bieži tiesības raksta kā trīs ciparus: r ir 4, w ir 2 un x ir 1, un tos saskaita katrai grupai atsevišķi.
| Skaitlis | Tiesības | Lietojums |
|---|---|---|
| 644 | rw-r--r-- | Parasts fails, piemēram, tīmekļa lapa vai attēls |
| 755 | rwxr-xr-x | Mape vai programma, ko drīkst izmantot visi |
| 640 | rw-r----- | Konfigurācija ar paroli, ko tīmekļa serveris var lasīt caur grupu |
| 600 | rw------- | Slepens fails, piemēram, authorized_keys, privātā atslēga vai .env fails |
| 700 | rwx------ | Privāta mape, piemēram, ~/.ssh |
Tiesību un īpašnieka maiņa
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 maina tiesības, izmantojot skaitli vai burtus (u, g, o īpašniekam, grupai un pārējiem, ar + vai -). chown īpašnieks:grupa maina īpašnieku un grupu; to drīkst darīt tikai root, tāpēc ar sudo.
Visai mapei chmod -R 644 ir labi zināma kļūda: visas apakšmapes zaudē savu x un kļūst nelietojamas. Iestatiet mapes un failus atsevišķi ar find:
sudo find /var/www/example.com -type d -exec chmod 755 {} +
sudo find /var/www/example.com -type f -exec chmod 644 {} +
Tīmekļa serveris caur grupu
Debian un Ubuntu sistēmās nginx un PHP-FPM pēc noklusējuma darbojas ar lietotāju www-data. Pārskatāms sadalījums: faili pieder Jums, bet grupa ir www-data. Tad tīmekļa serveris var lasīt caur grupu un rakstīt tikai tajā mapē, kur tas patiešām nepieciešams, piemēram, uploads (chmod g+w vai īpašnieks www-data tikai šai mapei). Nedodiet tīmekļa serverim rakstīšanas tiesības uz Jūsu PHP failiem.
777. Tad ikviens serverī var lasīt, mainīt un izpildīt šo failu vai mapi. Ja kādreiz kāda vietne vai pakalpojums tiek kompromitēts, ielauzējs var rakstīt visur, kur ir iestatīts 777. Īstā problēma gandrīz vienmēr ir īpašnieks vai grupa: atrisiniet to, nevis atveriet visu.Tiesības SSH
SSH serveris pārbauda Jūsu atslēgu tiesības. Ja citi var rakstīt Jūsu .ssh mapē vai mājas mapē, tas ignorē Jūsu atslēgu un Jums atkal tiek prasīta parole, bez skaidra kļūdas paziņojuma. Iestatiet tiesības šādi:
chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys
Ja mapi citam lietotājam izveidojāt kā root, iestatiet arī pareizo īpašnieku, kā aprakstīts rakstā Savs lietotājs ar sudo. AlmaLinux un Rocky Linux sistēmās arī SELinux var atteikt piekļuvi failam, kuram ir pareizās tiesības; ar roku izveidotai .ssh mapei palīdz restorecon -Rv ~/.ssh.
s, nevis x, piemēram, pie /usr/bin/passwd? Tas ir setuid bits: programma tad darbojas ar īpašnieka tiesībām. Dažām sistēmas programmām tas ir nepieciešams, taču nekad neiestatiet to nevienam skriptam. Negaidīts setuid fails var liecināt par ielaušanos, skatiet Uzlaušana? Pirmie soļi.Vēlaties uzzināt vairāk? Apgūstiet bezmaksas kursu VPS un Linux serveru pārvaldība, nodarbību 3.1 Lietotāji, grupas un failu tiesības.
