Permission denied ei tarkoita automaattisesti, että kaikille pitäisi antaa pääsy. Tarkista ensin käyttäjä, tiedosto ja polku. Ohje käsittelee perinteisiä Unix-oikeuksia GNU/Linuxissa; muut pääsynhallinnat voivat vaikuttaa itsenäisesti.
Vaihe vaiheelta
- Kirjaa koko polku ja tavoiteltu toiminto: lukeminen, kirjoittaminen, suorittaminen tai tiedoston luominen hakemistoon. Korvaa esimerkkien /path/file todellisella polulla.
- Lue id selvittääksesi nykyisen istunnon käyttäjän ja ryhmät. Palvelussa ratkaisee sen suoritustili, ei oma interaktiivinen käyttäjäsi. Selvitä tili palvelun asetuksista.
- Tutki
ls -ld /path/fileja ls -ld /path. Tuloste näyttää tyypin, tilan, omistajan ja ryhmän. Tarkista myös muut ylemmät hakemistot. Symbolinen linkki ei ole kohdetiedosto; tutki varsinainen kohde erikseen. - Selvitä sovellettava luokka: omistaja, muuten vastaava ryhmä, muuten muut. Hakemistoissa x sallii läpikulun ja r sisällön luetteloinnin; merkintöjen luonti tai poisto vaatii yleensä hakemiston w- ja x-oikeudet. Sticky-bitti ja muut säännöt voivat rajoittaa lisää.
- Jos perinteiset oikeudet sopivat, tutki ACL:t, SELinux/AppArmor, vain luku -liitos tai kontin nimiavaruus. Plusmerkki tilakentässä voi osoittaa muita pääsymenetelmiä. Älä poista suojauksia yleisesti käytöstä.
- Vasta kun puuttuva oikeus on todettu: kirjaa aiempi tila ja muuta yhtä tiedostoa.
chmod u+r /path/filelisää vain omistajan lukuoikeuden. Se auttaa vain, jos juuri tämä pääsy puuttuu; vältä rekursiivisia muutoksia ja yleistä 777:ää.
Tarkista tulos
Toista alkuperäinen toiminto samalla tilillä ja tarkista tila uudelleen. Onnistuminen rootina ei todista palvelukäyttäjän pääsyä. Jos virhe jatkuu, tutki seuraavaa perusteltua havaintoa lisäoikeuksien avaamisen sijaan.
Kumoaminen ja rajoitukset
Diagnostiikkakomennot vain lukevat. Palauta kirjattu aiempi tila oikeusmuutoksen jälkeen; huomioi ACL:t ja erikoisbitit erikseen. chmod 644 ei ole yleispätevä palautus, varsinkään hakemistoille tai suoritettaville tiedostoille.
