Beste Antwort
I. Was ist ein Sudo-Programm?
Das sudo ist ein Programm und / oder um genau zu sein Eine Art von Befehl, der jeweils in der Terminal-Shell verwendet wird und speziell für das Unix-Betriebssystem und die zugehörigen Betriebssysteme entwickelt wurde, mit deren Hilfe verschiedene Arten von Programmen ausgeführt werden können, wo der Benutzer sie hat Voller Zugriff auf die Administrator- und Sicherheitsrechte des Systems.
II. Was ist ein Bash?
Der Bash ist eine spezielle Art von Befehlssprache, die in der Unix Shell verwendet wird und auch zuerst geschrieben wurde, damit eine Software verwendet werden kann Ersetzt frei für die Bourne Shell und wurde von Brian Fox geschrieben. Gegenwärtig wird die Befehlssprache BASH in den verschiedenen Linux-Betriebssystemen, Mac OS und sogar Windows-Betriebssystemen weit verbreitet verwendet System wie Windows 10. Das Symbol $$ steht für die Prozess-ID der aktuellen Shell-Instanz.
III. Wie kann man das Problem „Berechtigung verweigert“ lösen, wenn „Sudo“ mit „Umleitung in Bash“ verwendet wird?
Es hängt also davon ab, welche Art von Arbeit mit Hilfe der Befehlssprache ausgeführt wird. Diese Art von Fehler kann auftreten, wenn jemand versucht, die Hauptdateien zu bearbeiten, die auf dem Hauptlaufwerk des Systems enthalten sind. Damit es funktioniert, kann man die gesamte Befehlszeile in der Shell oder der Sub-Shell ausführen, damit das Hauptverzeichnis mit dem Dateireitungssystem in der Bash zusammenarbeitet. Dies kann auf folgende Weise erreicht werden:
$ sudo sh - c "cd/home; du-s* |sort-rn > USAGE"
Die Datei, die sich nicht im Hauptverzeichnis befindet, kann auch mit Hilfe von Bash umgeleitet werden. Hier werden wir verwenden Der Befehl echo kann ebenfalls wie folgt ausgeführt werden:
temp = $ (example\_temp\_file)
echo "*This is an example code*"> $temp
sudo cp $temp/file/.... // (Here comes the file location)
Nun, wenn man nicht möchte, dass die Umleitung null und ohne Grund ist, wo keine explizite Subshell wird beteiligt sein, aber stattdessen wird eine implizite Subshell gut funktionieren, und außerdem kann mit Hilfe dieses Befehls die gesamte Datei von Grund auf neu erstellt werden, da das stdin in der Befehlszeile mit Hilfe des Befehls sudo ausgeführt wird Daher kann man es folgendermaßen erstellen:
echo bytes | sudo dd in=outfile
Dies war der eine Weg, jetzt, wenn man mit dem anderen Ansatz gehen will, muss man zuerst der Administrator oder der Root-Benutzer werden und dann das System betreten und sich dann anmelden:
sudo -i
Jetzt kann man sowohl sudo als auch die echo-Befehle verwenden, um erfolgreich umzuleiten, was ebenfalls erreicht werden kann:
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.
Das ist es also. Dies sollte das Problem „Berechtigung verweigert“ erfolgreich lösen, wenn „Sudo“ mit „Umleitung in Bash“ verwendet wird. Hoffentlich hilft es! P. >
Danke fürs Lesen ✍️