- Presná diagnostika chýb prístupu overovaním vrstiev POSIX, zoznamov ACL a bezpečnostných modulov, ako napríklad SELinux.
- Správne používanie nástrojov na správu oprávnení, ako sú chmod, chown a utilita visudo, aby sa predišlo zraniteľnostiam.
- Metódy obnovy systému pomocou Live CD alebo bootovacích skriptov pri strate prístupu superpoužívateľa.

Určite sa vám to už stalo: pokúsite sa spustiť príkaz, otvoriť súbor alebo získať prístup k priečinku a terminál zobrazí neslávne známu správu „Prístup odmietnutý“ . Je to frustrujúci moment, najmä ak si myslíte, že máte úplnú kontrolu nad systémom, ale Linux je veľmi prísny, čo sa týka bezpečnosti, a nepustí vás dnu, pokiaľ nebudete prísne dodržiavať jeho pravidlá.
Pokušenie nechať to tak chmod 777 Je to obrovská provizórna medzera, ale úprimne povedané, je to najhorší možný nápadRobiť to je ako nechať si vchodové dvere dokorán otvorené uprostred mesta; rieši to problém s prístupom, ale systém je úplne vystavený akejkoľvek zraniteľnosti. V ideálnom prípade by ste mali pochopiť, čo zlyháva, a použiť vhodnú opravu.
Pochopenie systému oprávnení v systéme Linux
Aby ste sa vyhli zaváhaniu, je dôležité vedieť, že Linux spravuje prístup na troch rôznych úrovniach. Po prvé, existujú klasické oprávnenia POSIX , ktoré predstavujú typické trio čítania (r), zápisu (w) a vykonávania (x) pre vlastníka, skupinu a všetkých ostatných. Potom existujú rozšírené zoznamy ACL, ktoré umožňujú oveľa jemnejšie pravidlá pre konkrétnych používateľov, a nakoniec povinné bezpečnostné moduly ako SELinux v RHEL alebo AppArmor v Ubuntu a Debiane.
Keď hovoríme o adresároch, existuje jeden detail, ktorý mnohých ľudí často mätie: bit na spustenie. V priečinku povolenie na spustenie neznamená, že môžete spustiť program; umožňuje vám jednoducho navigáciu v adresári . Ak tento bit nie je nastavený, aj keď máte povolenie na čítanie interného súboru, nebudete k nemu mať prístup, pretože cesta je uzamknutá.
Správa povolení sa dá vykonávať dvoma spôsobmi. Symbolické metódy sú veľmi pohodlné pre rýchle zmeny, ako napríklad pridanie spustenia pomocou chmod u+x. Na druhej strane, osmičkový tvar Je to najpresnejší spôsob, ako nakonfigurovať všetko naraz. Napríklad 644 je štandard pre textové súbory, zatiaľ čo 755 je typické pre adresáre a verejné skripty, kde Prehliadať si môže každý ale píše iba majiteľ.
Bežné blokovacie scenáre a ako ich riešiť
Jedna z najčastejších chýb sa vyskytuje s kľúčmi SSH. Ak sú vaše oprávnenia pre súkromný kľúč príliš tolerantné, server odmietne vaše pripojenie kvôli tomuto parametru. StrictModesRiešením je v tomto prípade čo najviac obmedziť prístup, zvyčajne pomocou chmod 600 aby si kľúč mohol prečítať iba jeho majiteľ.
Ďalším bežným scenárom je, keď sa pokúšate zapisovať do systémových ciest, ako napríklad /etc o /var/wwwAk ide o jednorazovú záležitosť, použiť sudo To je správne. Ale ak ide o aplikáciu, ktorá musí neustále zapisovať, najčistejším prístupom je zmeniť vlastníctvo priečinka pomocou chown aby bol používateľ služby právoplatným vlastníkom, čím sa zabráni Nesprávne použitie používateľa root v systéme Linux.
Niekedy, aj ako root, dostanete hlásenie, že nemáte oprávnenia. Toto sa zvyčajne stáva, ak je súborový systém pripojený v režim iba na čítanie (ro) alebo ak má súbor atribút nemenný. V druhom prípade môžete použiť príkaz lsattr diagnostikovať to a sudo chattr -i odstrániť túto špeciálnu ochranu.
Bolesť hlavy pri chybách v pote
Sudo je skvelý nástroj, kým ho už nebudete môcť používať. Súbor /etc/sudoers Je to mimoriadne chúlostivé. Jednoduchá syntaktická chyba, ako napríklad nesprávne umiestnená čiarka alebo medzera na nesprávnom mieste, môže spôsobiť sudo prestal fungovať úplne, čím vás vylúčime z vlastnej administratívy.
Aby ste tomu predišli, nikdy by ste tento súbor nemali upravovať bežným textovým editorom. Nástroj visudo To je kľúč, pretože overuje syntax Pred uložením zmien. Ak sa pokúsite vynútiť úpravu a poškodiť súbor, ocitnete sa v slepej uličke: na opravu súboru potrebujete sudo, ale nemôžete ho použiť, pretože súbor je poškodený.
Okrem syntaktických chýb existujú aj chyby vlastníctva. Sudo odmieta fungovať, ak súbor /etc/sudoers má príliš otvorené oprávnenia (napríklad je zapisovateľný kýmkoľvek) alebo ak vlastník nie je rootV takýchto prípadoch systém vydá upozornenie, že súbor je zapisovateľný svetom alebo že UID je nesprávne.
Ako znovu získať prístup, keď všetko ostatné zlyhá
Ak ste boli príliš šikovní a poškodili súbor sudoers, nie je všetko stratené. Jedným z najúčinnejších spôsobov je spustiť systém pomocou Ubuntu Live CDOdtiaľ pripojíte pevný disk a prejdete do adresára. /etc z vašej skutočnej inštalácie a manuálne opravte povolenia pomocou chmod 440 y chown root:root.
V cloudových prostrediach, ako je Google Cloud, existuje alternatíva pomocou spúšťacích skriptov . Môžete nakonfigurovať metadáta, ktoré vykonajú príkaz pri spustení virtuálneho počítača. Tento príkaz môže premenovať poškodený súbor sudoers a vytvoriť nový, základný, ktorý vám umožní dočasne sa prihlásiť bez hesla, aby ste mohli poškodenie opraviť pomocou Visudo.
Ak je problém v tom, že máte súbory .lock blokovanie úprav používateľov alebo skupín v /etc/passwdMožno budete musieť vyčistiť tieto dočasné súbory z prostredia obnovy, aby vám systém opäť umožnil vykonávať administrátorské zmeny.
Na vyriešenie akéhokoľvek problému s prístupom je najrozumnejšie postupovať v logickom poradí: začnite použitím ls -l e id aby ste videli, kto je kto, upravte si detaily pomocou chmod, opravte vlastnosť pomocou chown A ak nič z toho nefunguje, skontrolujte hlbšie vrstvy, ako napr. SELinux alebo AppArmor čo by mohlo blokovať akciu na pozadí a zneužívať fakt, že už poznáte Tajomstvá Linuxu a jeho príkazy.
Vášnivý spisovateľ o svete bajtov a technológií všeobecne. Milujem zdieľanie svojich vedomostí prostredníctvom písania, a to je to, čo urobím v tomto blogu, ukážem vám všetko najzaujímavejšie o gadgetoch, softvéri, hardvéri, technologických trendoch a ďalších. Mojím cieľom je pomôcť vám orientovať sa v digitálnom svete jednoduchým a zábavným spôsobom.
