Kontrollér Linux-rettigheder: Permission denied uden chmod 777

Permission denied betyder ikke automatisk, at alle skal have adgang. Kontrollér først bruger, fil og sti. Vejledningen dækker traditionelle Unix-rettigheder på GNU/Linux; yderligere adgangskontrol kan gælde uafhængigt.

Trin for trin

  1. Notér hele stien og den ønskede handling: læse, skrive, udføre eller oprette en fil i en mappe. Erstat /path/file med den faktiske sti i eksemplerne.
  2. Læs id for at identificere bruger og grupper i den aktuelle session. For en tjeneste gælder dens kørselskonto, ikke din interaktive bruger. Find kontoen i tjenestens konfiguration.
  3. Undersøg ls -ld /path/file og ls -ld /path. Output viser type, tilstand, ejer og gruppe. Kontrollér også de øvrige overordnede mapper. Et symbolsk link er ikke målfilen; undersøg selve målet separat.
  4. Find den relevante klasse: ejer, ellers en matchende gruppe, ellers andre. For mapper tillader x gennemgang og r visning af indhold; oprettelse eller fjernelse af poster kræver normalt w og x på mappen. Sticky bit og andre regler kan begrænse yderligere.
  5. Hvis de traditionelle rettigheder passer, undersøg ACL, SELinux/AppArmor, skrivebeskyttet montering eller en containers navnerum. Et plus i tilstandsfeltet kan vise yderligere adgangsmetoder. Slå ikke beskyttelse fra globalt.
  6. Først når en konkret manglende rettighed er påvist: gem den tidligere tilstand og ændr én fil. chmod u+r /path/file tilføjer kun læseadgang for ejeren. Det hjælper kun, hvis netop denne adgang mangler; undgå rekursive ændringer og generel 777.

Kontrollér resultatet

Gentag den oprindelige handling med samme berørte konto, og kontrollér tilstanden igen. Succes som root beviser ikke adgang for tjenestebrugeren. Hvis fejlen består, undersøg næste dokumenterede spor frem for at åbne flere rettigheder.

Fortrydelse og begrænsninger

Diagnosekommandoerne læser kun. Gendan den registrerede tilstand efter en rettighedsændring; medtag ACL og særlige bits særskilt. chmod 644 er ikke en universel tilbagerulning, især ikke for mapper eller eksekverbare filer.

Kilde