Ištaisykite „Leidimas atmestas“ klaidą paleisdamas „Bash“ scenarijų „Linux“.


Ši greita mokymo programa padeda ištaisyti klaidą „leidimas atmestas“, kai vykdomi „bash“ scenarijai „Ubuntu“ ir kituose „Linux“ platinimuose.

Jei bandote paleisti bet kokį bash scenarijų (.sh), susiduria su klaida „Leidimas uždraustas“, naujiems „Linux“ naudotojams gali būti sunku. Šis išsamus vadovas padės iš karto tai išspręsti.

Vykdant bash scenarijų sistemoje „Linux“ įvyko leidimas uždraustas

Klaida „Leidimas atmestas“ pirmiausia atsiranda dėl prieigos. Jūsų scenarijui trūksta reikiamų leidimų atlikti tam tikrus veiksmus, nesvarbu, ar tai būtų failų skaitymas, duomenų rašymas ar sąveika su sistemos ištekliais. Pavyzdžiui, čia yra keletas priežasčių:

  • Trūksta vykdymo leidimo: pats scenarijus gali neturėti reikiamo vykdyti leidimo.
  • Neteisinga failo vieta: bandydami paleisti scenarijų iš katalogo, kuriame neturite leidimo vykdyti failų, taip pat suaktyvins klaida.
  • Trūksta priklausomybių: kai kurie scenarijai pagrįsti išorinėmis programomis arba bibliotekomis. Jei jų trūksta arba jie nepasiekiami, galite gauti šią klaidą.
  • SELinux apribojimai (išplėstiniai): patobulintas saugumas Linux (SELinux) suteikia papildomą saugos sluoksnį, kuris kartais gali blokuoti scenarijaus vykdymą.

Ištaisykite klaidą „leidimas atmestas“ priskirdami leidimą

  • Norėdami peržiūrėti scenarijaus leidimus, naudokite ls -l. Ieškokite „x“ trečioje simbolių grupėje (savininko leidimai). Jei jo trūksta, tai jūsų kaltininkas!
  • Naudokite chmod +x your_script.sh, kad pridėtumėte savininko leidimą „x“ (pakeiskite „your_script.sh“ tikruoju failo pavadinimu).
  • Tai turėtų būti nustatyta daugeliu atvejų. Jei ne, peržiūrėkite toliau nurodytus papildomus veiksmus.

Vykdymo leidimas nustatytas klaidai ištaisyti

Papildomi pataisymo veiksmai

  • Įsitikinkite, kad vykdote scenarijų iš katalogo su vykdymo leidimais. Jei norite patikrinti savo dabartinę vietą, naudokite pwd.
  • Prieš paleisdami scenarijų eikite į katalogą su vykdymo leidimais. Norėdami perjungti katalogus, naudokite cd /path/to/directory.
  • Jei problema yra SELinux, žr. jos dokumentus, kad sužinotumėte apie konkrečius politikos pakeitimus. Tai panašu į derybas su vartų sargu, kad įeitų.

Baigiamieji užrašai

Tikimės, kad atlikę aukščiau nurodytus trikčių šalinimo veiksmus ištaisysite klaidą. Štai keletas nuorodų šiuo klausimu:

  • SELinux valdymas: https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/selinux_users_and_administrators_guide/index
  • „Bash“ scenarijų trikčių šalinimas: https://www.gnu.org/software/bash/manual/