Hoe “toestemming geweigerd” op te lossen bij gebruik van sudo met omleiding in Bash


Beste antwoord

I. Wat is een Sudo-programma?

De sudo is een programma en of om specifiek te zijn een type commando dat wordt gebruikt in respectievelijk de terminalshell, die specifiek is ontworpen voor het Unix-besturingssysteem en de gerelateerde besturingssystemen met behulp waarvan verschillende soorten programmas worden gemaakt om te draaien waar de gebruiker heeft volledige toegang tot de admin- en beveiligingsrechten van het systeem.

II. Wat is een Bash?

De Bash is een speciaal type commandotaal die wordt gebruikt in de Unix Shell en ook eerst zo geschreven dat een software kan worden gratis vervangen voor de Bourne Shell, en is geschreven door Brian Fox. Momenteel wordt de BASH-commandotaal veel gebruikt in de verschillende Linux-besturingssystemen , Mac OSs en zelfs Windows-besturingssystemen Systeem zoals Windows 10. Het symbool $$ staat voor de proces-ID van de huidige shell-instantie.

III. Hoe los je Permission Denied Problem op bij gebruik van Sudo met redirection in Bash?

Het hangt dus af van wat voor soort werk je doet met behulp van de commandotaal. Dit type fout kan optreden wanneer iemand probeert de hoofdbestanden te bewerken die zich op de hoofdschijf van het systeem bevinden. Om ervoor te zorgen dat het werkt, kan men de volledige commandoregel in de shell of de subshell uitvoeren om ervoor te zorgen dat de hoofddirectory werkt met het bestandsomleidingssysteem in de bash. Dit kan op de volgende manier worden bereikt:

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

Het bestand dat niet in de hoofddirectory staat kan ook worden omgeleid met behulp van de Bash, hier zullen we gebruiken ook het echo-commando, dat kan worden bereikt als:

temp = $ (example\_temp\_file)

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

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

Nu, als men niet wil dat de omleiding null is en zonder enige reden, waar geen expliciete subshell zal erbij betrokken raken, maar in plaats daarvan zal een impliciete subshell het goed doen, en bovendien kan men met behulp van dit commando het volledige bestand helemaal opnieuw creëren omdat de stdin wordt uitgevoerd in de commandoregel met behulp van sudo commando .Daarom kan men het op de volgende manier maken:

echo bytes | sudo dd in=outfile

Deze was de enige manier, nu als men met de andere benadering wil gaan, dus eerst moet men de admin of de root-gebruiker worden en dan het systeem invoeren en dan inloggen:

sudo -i

Nu kan men zowel sudo als de echo-opdrachten gebruiken om succesvol om te leiden, wat op dezelfde manier kan worden bereikt:

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.

Dus, dat is het. Dit zou Permission Denied Problem met succes moeten oplossen bij gebruik van Sudo met Redirection in Bash. Hoop dat het helpt!

Bedankt voor het lezen ✍️

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *