Sådan løses “tilladelse nægtet”, når du bruger sudo med omdirigering i Bash


Bedste svar

I. Hvad er et Sudo program?

Sudo er et program og eller for at være specifikt en type kommando, der bruges i henholdsvis terminalskallen, der er specielt designet til Unix-operativsystemet og dets relaterede operativsystemer ved hjælp af hvilke forskellige typer programmer er lavet til at køre, hvor brugeren har fuld adgang til systemets administrator- og sikkerhedsrettigheder.

II. Hvad er en Bash?

Den Bash er en særlig type kommandosprog, der bruges i Unix Shell, og den blev også først skrevet, så en software kan erstattet frit til Bourne Shell og blev skrevet af Brian Fox. Nu er kommandosproget BASH i vid udstrækning brugt på tværs af de forskellige Linux-operativsystemer, Mac OSer og endda Windows Operating System som Windows 10. Symbolet $$ står for proces-idet for den aktuelle shellinstans.

III. Hvordan løser man Tilladelse nægtet problem, når man bruger Sudo med omdirigering i Bash?

Så det afhænger af, hvilken type arbejde man udfører ved hjælp af kommandosprog. Denne type fejl kan opstå, når nogen prøver at redigere de vigtigste filer, der findes i systemets hoveddrev. Så for at det kan fungere, kan man udføre hele kommandolinjen i skallen eller underskallen for at, så hovedmappen fungerer med filomdirigeringssystemet i bash. Dette kan opnås på følgende måde:

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

Filen, som ikke findes i hovedmappen, kan også omdirigeres ved hjælp af Bash, her bruger vi kommandoen ekko, som også kan opnås som:

temp = $ (example\_temp\_file)

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

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

Nu, hvis man ikke ønsker, at omdirigering skal være nul og være uden nogen grund, hvor ingen eksplicit subshell vil blive involveret, men i stedet vil en implicit subshell klare sig godt, og desuden kan man genskabe hele filen fra bunden ved hjælp af denne kommando, fordi stdin bliver udført i kommandolinien ved hjælp af sudo kommando Derfor kan man oprette det på følgende måde:

echo bytes | sudo dd in=outfile

Dette var den ene vej, nu hvis man ønsker at gå med en anden tilgang, så først skal man blive administrator eller rodbruger og derefter gå ind i systemet og derefter logge ind:

sudo -i

Nu kan man bruge sudo såvel som echo -kommandoerne til at omdirigere, hvilket også kan opnås:

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 skal med succes løse Tilladelse nægtet problem, når du bruger Sudo med Omdirigering i Bash. Håber det hjælper!

Tak for læsningen ✍️

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *