Hvordan løse “tillatelse nektet” når du bruker sudo med omdirigering i Bash


Beste svaret

I. Hva er et «Sudo» -program?

Sudo er et program og eller for å være spesifikt en type kommando som brukes i henholdsvis terminalskallet, som er spesielt designet for Unix-operativsystemet og dets relaterte operativsystemer ved hjelp av hvilke forskjellige typer programmer er laget for å kjøre der brukeren har full tilgang til administratoren og sikkerhetsrettighetene til systemet.

II. Hva er en Bash?

Den Bash er en spesiell type kommandospråk som brukes i Unix Shell, og den ble også skrevet først slik at en programvare kan erstattet fritt for Bourne Shell, og ble skrevet av Brian Fox. Nå er for øyeblikket kommandospråket BASH mye brukt på tvers av de forskjellige Linux-operativsystemene, Mac OS-ene og til og med Windows Operating System som Windows 10. Symbolet $$ står for prosess-ID-en for den gjeldende skallforekomsten.

III. Hvordan løse Tillatelse nektet problem når du bruker Sudo med omdirigering i Bash?

Så det avhenger av hvilken type arbeid man utfører ved hjelp av kommandospråk. Denne typen feil kan oppstå når noen prøver å redigere hovedfilene som finnes i hovedstasjonen til systemet. Så for at det skal fungere kan man utføre hele kommandolinjen i skallet eller underskallet for å slik at hovedkatalogen fungerer med filomdirigeringssystemet i bash. Dette kan oppnås på følgende måte:

$ sudo sh - c "cd/home; du-s* |sort-rn > USAGE"

Filen som ikke ligger i hovedkatalogen kan også omdirigeres ved hjelp av Bash, her skal vi bruke kommandoen ekko også, som kan oppnås som:

temp = $ (example\_temp\_file)

echo "*This is an example code*"> $temp

sudo cp $temp/file/.... // (Here comes the file location)

Nå, hvis man ikke vil at omadresseringen skal være null og være uten grunn, der ingen eksplisitt subshell vil bli involvert, men i stedet vil en implisitt subshell gjøre det bra, og dessuten kan man gjenskape hele filen fra bunnen av ved hjelp av denne kommandoen fordi stdin blir utført i kommandolinjen ved hjelp av sudo kommando Derfor kan man opprette det på følgende måte:

echo bytes | sudo dd in=outfile

Dette var den ene veien, nå hvis man vil gå med en annen tilnærming, så først må man bli administrator eller rotbruker og deretter gå inn i systemet, og deretter logge på:

sudo -i

Nå kan man bruke sudo så vel som echo -kommandoene for å omdirigere, noe som kan oppnås på samme måte:

sudo bash -c "echo Y> /sys/module/..... // (the rest command depends on what type of task one has to perform, the upper part will remain same, just add the file location after "module/", to whatever one needs to redirect or the respective task to be performed or completed.

Så, det er det. Dette bør løse Tillatelse nektet problem når du bruker Sudo med Redirection in Bash. Håper det hjelper!

Takk for at du leser ✍️

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *