Hur man löser “tillstånd nekad” när man använder sudo med omdirigering i Bash


Bästa svaret

I. Vad är ett ”Sudo” -program?

Sudo är ett program och eller för att vara specifikt en typ av ”kommando” som används i terminalskalet respektive, som är specifikt utformat för ”Unix-operativsystemet” och dess relaterade ”operativsystem” med hjälp av vilka olika typer av program görs för att köras där användaren har fullständig åtkomst till systemets administratör och säkerhetsbehörigheter.

II. Vad är en ”Bash”?

”Bash” är en speciell typ av kommandospråk som används i ”Unix Shell” och den skrevs också först så att en programvara kan ersattes fritt för ”Bourne Shell” och skrevs av ”Brian Fox”. För närvarande används kommandospråket ”BASH” i stor utsträckning i de olika ”Linux-operativsystemen”, ”Mac OS” och till och med Windows Operating System som Windows 10. Symbolen $$ står för process-ID för den aktuella skalinstansen.

III. Hur löser man Permission Denied Problem när man använder Sudo med omdirigering i Bash?

Så det beror på vilken typ av arbete man utför med hjälp av kommandospråk. Denna typ av fel kan inträffa när någon försöker redigera huvudfilerna som finns i systemets huvudenhet. Så för att det ska fungera kan man utföra hela kommandoraden i skalet eller underskalet för att så att huvudkatalogen fungerar med filomdirigeringssystemet i bash. Detta kan uppnås på följande sätt:

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

Filen som inte finns i huvudkatalogen kan också omdirigeras med hjälp av Bash, här kommer vi att använda kommandot echo också, vilket kan uppnås som:

temp = $ (example\_temp\_file)

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

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

Nu, om man inte vill att omdirigeringen ska vara noll och utan någon anledning, där ingen uttrycklig subshell kommer att engagera sig, men i stället kommer en implicit subshell att fungera bra, och dessutom kan man återskapa hela filen från grunden med hjälp av detta kommando eftersom stdin körs i kommandoraden med hjälp av sudo kommando Därför kan man skapa det på följande sätt:

echo bytes | sudo dd in=outfile

Detta var det ena vägen, nu om man vill gå med den andra metoden, så först måste man bli administratör eller rotanvändare och sedan gå in i systemet och sedan logga in:

sudo -i

Nu kan man använda sudo liksom echo -kommandona för att omdirigera framgångsrikt, vilket kan uppnås på samma sätt:

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 är det. Detta skulle framgångsrikt lösa Permission Denied Problem när du använder Sudo med Redirection in Bash. Hoppas det hjälper!

Tack för att du läste ✍️

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *