Kontroller Linux-rettigheter: Permission denied uten chmod 777

Permission denied betyr ikke automatisk at alle skal få tilgang. Kontroller først bruker, fil og sti. Veiledningen gjelder tradisjonelle Unix-rettigheter på GNU/Linux; ekstra tilgangskontroller kan virke uavhengig.

Trinn for trinn

  1. Noter hele stien og ønsket handling: lese, skrive, kjøre eller opprette en fil i en mappe. Erstatt /path/file med den faktiske stien i eksemplene.
  2. Les id for å identifisere bruker og grupper i gjeldende økt. For en tjeneste er det kjøringskontoen som teller, ikke din interaktive bruker. Finn kontoen i tjenestens konfigurasjon.
  3. Undersøk ls -ld /path/file og ls -ld /path. Utdata viser type, modus, eier og gruppe. Kontroller også de andre overordnede mappene. En symbolsk lenke er ikke målfilen; undersøk selve målet separat.
  4. Finn riktig klasse: eier, ellers en samsvarende gruppe, ellers andre. For mapper tillater x gjennomgang og r opplisting; oppretting eller fjerning av oppføringer krever normalt w og x på mappen. Sticky bit og andre regler kan begrense ytterligere.
  5. Hvis tradisjonelle rettigheter passer, undersøk ACL, SELinux/AppArmor, skrivebeskyttet montering eller en containers navnerom. Et plusstegn i modusfeltet kan vise ekstra tilgangsmetoder. Ikke slå av beskyttelse globalt.
  6. Bare når en konkret manglende rettighet er dokumentert: registrer tidligere modus og endre én fil. chmod u+r /path/file legger bare til lesetilgang for eieren. Det hjelper kun dersom nettopp den tilgangen mangler; unngå rekursive endringer og generell 777.

Kontroller resultatet

Gjenta opprinnelig handling med samme berørte konto og kontroller modusen igjen. Suksess som root beviser ikke tilgang for tjenestebrukeren. Hvis feilen fortsetter, undersøk neste dokumenterte spor i stedet for å åpne flere rettigheter.

Tilbakestilling og begrensninger

Diagnosekommandoene er lesende. Gjenopprett registrert tilstand etter en rettighetsendring; ta hensyn til ACL og spesielle biter separat. chmod 644 er ingen universell tilbakeføring, særlig ikke for mapper eller kjørbare filer.

Kilde