Kali Linux Terminal berechtigung?

4 Antworten

Hallo

Immer wenn ich versuche in Kali Linux im Terminal eine dateiname.sh auszuführen oder einige andere befehle ausführen möchte steht da, dass ich keine berechtigung habe..
  • Ich denke das hast Du falsch gelesen, da steht keine Berechtigung

Das bedeutet nicht das der User, also Du, keine Berechtigung hat sondern nur das die Datei nicht berechtigt ist ausgeführt zu werden - Das ist was anderes¹

  • Aber als professioneller Linux Anwender solltest Du das aber schon wissen.

Wenn Du ein Script geschrieben hast, dann musst Du es natürlich auch als ausführbar kennzeichnen (das x-Bit setzen) oder den auszuführenden Interpreteter (z.B. die Shell, phyton, perl, pearl ect.) angeben.

chmod +x dateiname.sh

macht es ausführbar, oder

bash dateiname.sh

führt es mit der bash aus.

  • Handelt es sich aber nicht um ein Shell-Script sondern um ein python-Script, dann gibt es logischerweise eine Fehlermeldung weil die Shell das geschriebene nicht versteht. Außer wenn in der ersten Zeile ein Shebang ist.

Linuxhase

---------------------------------------------------------------------------------------------------------------------------------------------

¹ wenn die Datei gar auf einem Dateisystem liegt das nicht für unixoide Systeme geeignet ist, kann man es auch nicht mit dem ausführen-Bit markieren.

Woher ich das weiß:Hobby
GRYT1  20.03.2019, 06:12

Ich denke, dass du nicht richtig gelesen hast. Er hat auch "keine Berechtigung" geschrieben.

0
Linuxhase  20.03.2019, 23:07
@GRYT1

was willst Du mir denn mitteilen, worauf willst Du hinaus?

Linuxhase

0
GRYT1  31.03.2019, 23:15
@Linuxhase

"Ich denke das hast Du falsch gelesen, da steht keine Berechtigung"

Hat er ja eh geschrieben, oder? xD

0
./datei.sh

Wenn dann kommt Befehl nicht erkannt:

chmod +x datei.sh
./datei.sh

oder

bash ./datei.sh

Wenn dir Berechtigungen fehlen:

sudo ./datei.sh

oder

sudo bash ./datei.sh

oder

chmod +x datei.sh
sudo ./datei.sh

BTW: Mit chmod +x ./datei.sh markierst du die Datei als ausführbar.

PS.: Wenn es eine .py-Datei ist dann python statt bash, bei .rb ruby statt bash, usw.

Mark Berger  16.03.2019, 00:05

Ich würde dir zu einem guten Buch raten das auch die ganzen Grundlagen des Systems erklärt... Sonst wird das nichts: https://www.amazon.de/s//www.amazon.de/s/ref=nb_sb_noss_2?__mk_de_DE=%C3%85M%C3%85%C5%BD%C3%95%C3%91&url=search-alias%3Daps&field-keywords=hacken+kali&rh=i%3Aaps%2Ck%3Ahacken+kali&ajr=0

... genau aus dem Grund habe ich in meinem Anfänger-Buch auch die ganzen Grundlagen von Linux drin und gehe die wichtigsten Dinge durch damit die Leute dann auch mit dem System klarkommen.

0
Linuxhase  16.03.2019, 20:46
Wenn dann kommt Befehl nicht erkannt:

Dann ist

  1. eventuell eine andere Sprache eingestellt
  2. oder er verwendet kein Ubuntu (oder Fork davon)
sudo bash ./datei.sh

Das klappt auch nur wenn sudo so eingestellt ist das der sudo-Benutzer alles darf was root auch darf; das ist nicht zwangsläufig so.

Linuxhase

0

Die Datei muss ausführbar sein:

chmod +x datei.sh

Die Datei wird wie folgt aufgerufen:

./datei.sh

und nicht, wie teilwesie empfohlen:

sh datei.sh

oder

bash datei.sh

Wenn erhöhte Berechtigungen benötigt werden, muss das Skript als root ausgeführt werden. Das geht beispielsweise über den Befehl sudo:

sudo ./datei.sh

Wenn du ein altes Unix nutzt und das noch kein sudo kennt, dann musst du über su (switch user) root werden und das Skript dann ausführen.

Woher ich das weiß:Berufserfahrung
HansDieter99 
Fragesteller
 15.03.2019, 22:14
sudo ./datei.sh

da kommt bei mir ,dass es nicht als befehl erkannt wird.

0
HansDieter99 
Fragesteller
 15.03.2019, 22:20
@HansDieter99

ohne sudo bekomm ich ja schließlich die meldung, dass die berechtigung fehlt

0
HansDieter99 
Fragesteller
 15.03.2019, 22:22
@milos2

ne habs gelöst klappt jetzt :,D hab noch nen readme in der zip gefunden. Jetzt klappts. Ich trottel :,D

0
guenterhalt  16.03.2019, 08:48

was soll an sh datei.sh falsch sein? Es würde schon Zufall sein, dass bei Kali-Linux abweichend von anderen Systemen sh nicht ein symbolischer Link zur bash ist.
Es gibt Abweichungen, weil nur mit dem Namen bash auch die ~/.bashrc abgearbeitet wird. Das spielt aber hier keine Rolle.

1
Linuxhase  16.03.2019, 20:55
und nicht, wie teilwesie empfohlen:
bash datei.sh
  1. heißt es teilweise und
  2. was bitte ist denn daran falsch?

Es ist nur ein anderer Weg.

Linuxhase

0
milos2  16.03.2019, 22:08
@Linuxhase

Das Problem ist, dass wenn im Skript eine andere Shell genutzt wird. Beispiel:

#!/bin/csh

Dann muss das mit der csh ausgeführt werden und nicht mit der bash.

Wenn man ./skript.sh nutzt, dann wird das vernünftig ausgeführt.

0
Linuxhase  16.03.2019, 22:10
@milos2

klar, aber auch nur wenn der richtige Interpreter im Shebang steht

0

Du solltest dir vielleich selbst eine andere Frage stellen: "ist es vielleicht sogar sinnvoll, dass ich an dieser Stelle keine Berechtigung habe". Bis du genug Expertise hast diese Frage zu beantworten, übe mit einer anderen Distribution in der du nicht standardmäßig root-Benutzer bist, gerade beim ungeprüften Ausführen von unbekannten Skripten.

Linuxhase  16.03.2019, 20:26

wo steht denn das es unbekannt ist?

0
flaglich  16.03.2019, 20:43
@Linuxhase

Das steht da nicht, das habe ich aus dem Kontext geschlossen. Aber ich würde eine Kiste Bier drauf wetten, dass HansDieter99 vorher nicht in das Skript geschaut hat.

0