Legjobb válasz
I. Mi az a „Sudo” program?
A sudo egy program, vagy konkrétan a terminálhéjban használt „parancs” típusa, amelyet kifejezetten a „Unix Operating System” és a hozzá kapcsolódó „Operációs rendszerek” számára fejlesztettek ki, amelyek segítségével különféle típusú programokat futtatnak ott, ahol a felhasználó rendelkezik teljes hozzáférés a rendszergazdához és a biztonsági jogosultságokhoz.
II. Mi az a „Bash”?
A „Bash” egy speciális típusú parancsnyelv, amelyet a „Unix Shell” -ben használnak, és azt is először írták, hogy egy szoftver használható legyen. szabadon cserélhető a “Bourne Shell” -re, és “Brian Fox” írta. Most jelenleg a “BASH” parancsnyelvet széles körben használják a különféle “Linux operációs rendszerek”, “Mac OS” -ek és még az Windows operációs rendszerek is. Olyan rendszer, mint a „Windows 10”. A „$$” szimbólum az aktuális héjpéldány folyamatazonosítóját jelenti.
III. Hogyan lehet megoldani az „Engedély megtagadva problémát”, ha a „Sudo” -ot „átirányítás a Bash-ban” használjuk?
Tehát attól függ, hogy milyen típusú munkát végez a parancsnyelv segítségével. Ez a típusú hiba akkor fordulhat elő, amikor valaki megpróbálja szerkeszteni a rendszer fő meghajtójában lévő fő fájlokat. Tehát annak működéséhez a teljes parancssort futtathatja a shellbe vagy az alhéjba annak érdekében, hogy a fő könyvtár a bash fájl-átirányítási rendszerrel működjön. Ez a következő módon érhető el:
$ sudo sh - c "cd/home; du-s* |sort-rn > USAGE"
Az a fájl, amely nem a fő könyvtárban található, a Bash segítségével is átirányítható, itt ezt fogjuk használni az echo parancs is, amely a következő módon érhető el:
temp = $ (example\_temp\_file)
echo "*This is an example code*"> $temp
sudo cp $temp/file/.... // (Here comes the file location)
Most, ha valaki nem akarja, hogy az átirányítás semmissé és ok nélkül történjen, ahol nincs kifejezett az alhéj belekapcsolódik, de ehelyett egy implicit alhéj is jól fog menni, ráadásul ennek a parancsnak a segítségével a teljes fájlt a semmiből lehet újra létrehozni, mert a stdin végrehajtása a parancssorban a sudo segítségével történik . Ezért létrehozható a következő módon:
echo bytes | sudo dd in=outfile
Ez volt az egyirányú, most, ha valaki más megközelítéssel akar menni, először is rendszergazdává vagy gyökérfelhasználóvá kell válnia, majd be kell lépnie a rendszerbe, majd be kell jelentkeznie:
sudo -i
Mostantól a sudo és az echo parancsok is használhatók a sikeres átirányításhoz, ami ugyanúgy elérhető:
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.
Tehát ez van. Ezzel sikeresen meg kell oldania az „Engedély megtagadva problémát”, ha a „Sudo” -t az „Átirányítás Bash-ban” használja. Remélem, hogy segít! >
Köszönjük, hogy elolvastad ✍️