KarstenW.
Anmeldungsdatum: 27. Juni 2011
Beiträge: 208
|
Hallo, gibt es eine Möglichkeit ein erstelltes Bash Script ausführbar zu übergeben, so das z.B. wenn es aus dem Web heruntergeladen wird sofort ausgeführt werden kann? Wie man ein Script ausführbar machen kann weiss ich, doch wenn ich es ausführbar gemacht habe und via Netzwerk auf einen anderen Rechner übertrage ist es nicht mehr ausführbar. Auf dem anderen Rechner kann ich es dann auch nur über die Konsole mit sudo chmod ausführbar machen. Im Ordner wo das Script gespeichert ist wird ausserdem ein Schloß angezeigt und es lässt sich nicht als normaler User ausführbar kennzeichnen. Gruß Karsten
|
dAnjou
Anmeldungsdatum: 8. Oktober 2007
Beiträge: 872
Wohnort: Berlin
|
KarstenW. schrieb: gibt es eine Möglichkeit ein erstelltes Bash Script ausführbar zu übergeben
Nicht direkt und das ist auch gut so. EDIT: Du kannst das Skript in ein Archiv packen (zum Beispiel tar oder tar.gz ). Dann bleiben die Rechte erhalten. so das z.B. wenn es aus dem Web heruntergeladen wird sofort ausgeführt werden kann?
Nein. Das wäre ja ein unvorstellbares Sicherheitsrisiko. Auf dem anderen Rechner kann ich es dann auch nur über die Konsole mit sudo chmod ausführbar machen.
Was? Wieso brauchst du root-Rechte? Im Ordner wo das Script gespeichert ist wird ausserdem ein Schloß angezeigt und es lässt sich nicht als normaler User ausführbar kennzeichnen.
In welchem Ordner soll das sein? Innerhalb deines Home-Verzeichnisses sollte gar nichts mit root-Rechten gemacht werden müssen. Ergo sollte da auch nichts ein Schloss haben.
|
theinlein
Anmeldungsdatum: 29. Dezember 2007
Beiträge: 1279
|
Hi! dAnjou schrieb: KarstenW. schrieb: ... Du kannst das Skript in ein Archiv packen (zum Beispiel tar oder tar.gz ). Dann bleiben die Rechte erhalten.
Wenn man ein Archiv überträgt, dann kann das genauso schief gehen. Die Rechte und Owner etc. werden ja in Form von Nummern geführt...
... und welche Nummer auf dem anderen Rechner welcher User ist, weiß ja keiner zuvor. Ein Script ist im Prinzip das Gleiche wie ein anderes "normales Programm". Weil es auf jedem System Nutzerrechte zu beachten gibt und auch diverse Systemeinstellungen überprüft und evtl. gesetzt werden müssen, gibt es ja die Paketdienste wie rpm und deb u.a. Ein Script ausführen ohne X-Flags kann man auch, indem man
bash dasBesagteScript
aufruft, dann braucht es nur Leserechte - es sei denn, darin werden Sachen aufgerufen, die wiederum root-Rechte verlangen. ABer so etwas herunterzuladen und den anderen das automatische Starten zuzumuten ist kein Weg.
|
dAnjou
Anmeldungsdatum: 8. Oktober 2007
Beiträge: 872
Wohnort: Berlin
|
theinlein schrieb: dAnjou schrieb: KarstenW. schrieb: ... Du kannst das Skript in ein Archiv packen (zum Beispiel tar oder tar.gz ). Dann bleiben die Rechte erhalten.
Wenn man ein Archiv überträgt, dann kann das genauso schief gehen. Die Rechte und Owner etc. werden ja in Form von Nummern geführt...
... und welche Nummer auf dem anderen Rechner welcher User ist, weiß ja keiner zuvor.
Gefragt wurde nach der Ausführbarkeit, nicht nach Besitzer. Die Möglichkeit, die ich vorgeschlagen habe, funktioniert wunderbar und tar braucht dabei nichtmal extra Optionen. Nach Übertragung und Entpacken hatte das Skript noch 755er Rechte, Besitzer und Gruppe wurden aber vom lokalen System übernommen ... also kein Problem das ganze.
|
KarstenW.
(Themenstarter)
Anmeldungsdatum: 27. Juni 2011
Beiträge: 208
|
Hi, also wenn ich meine Scripte ungepackt im Netzwerk auf einen anderen Rechner kopiere dann ist da ein Schloss vor. Kann also nicht mit rechter Maustaste Eigenschaften ausführbar machen. Bisher habe ich das dann über die Konsole mit sudo chmod gemacht, weil nur mit chmod bekam ich die Fehlermeldung das ich keine Rechte hätte an der Datei etwas zu ändern. Aber danke für den Tip mit dem packen, werde ich doch gleich mal ausprobieren. Bin noch nicht lange bei Ubuntu und als Ex Windows User muss man sich erstmal an die Sicherheitsmechanismen gewöhnen.
|
track
Anmeldungsdatum: 26. Juni 2008
Beiträge: 7174
Wohnort: Wolfen (S-A)
|
.. wenn ich meine Scripte ungepackt im Netzwerk auf einen anderen Rechner kopiere dann ist da ein Schloss vor.
Das hängt ganz davon ab, von welchem Dateisystem und welcher Art Freigabe Du sowas holst. Vieles wird da beim Mounten vor-eingestellt, gerade bei den nicht - *nix- Dateisystemen. Dort liegt meistens der Knoten. Kann also nicht mit rechter Maustaste Eigenschaften ausführbar machen.
Das würde ja darauf hin deuten, dass schon für den übergeordneten Ordner die Rechte "zugenagelt" sind. → erstmal dort die Rechte kontrollieren und in Ordnung bringen. LG, track
|
diesch
Anmeldungsdatum: 18. Februar 2009
Beiträge: 5072
Wohnort: Brandenburg an der Havel
|
KarstenW. schrieb: also wenn ich meine Scripte ungepackt im Netzwerk auf einen anderen Rechner kopiere dann ist da ein Schloss vor. Kann also nicht mit rechter Maustaste Eigenschaften ausführbar machen. Bisher habe ich das dann über die Konsole mit sudo chmod gemacht, weil nur mit chmod bekam ich die Fehlermeldung das ich keine Rechte hätte an der Datei etwas zu ändern.
Das klingt, als hättest du die Datei als ein anderer User kopiert oder die Datei einem anderen User geschenkt. Was sagt denn ls -l zu der Datei?
|
KarstenW.
(Themenstarter)
Anmeldungsdatum: 27. Juni 2011
Beiträge: 208
|
Hier die Ausgabe ls -l: -rwxr-xr-x 1 karsten karsten 172 2011-09-11 21:08 musik.sh
|
track
Anmeldungsdatum: 26. Juni 2008
Beiträge: 7174
Wohnort: Wolfen (S-A)
|
Die Rechte sind ok. Was geht jetzt bei dem Skript nicht ...? Falls Du die Rechte dieser Datei nicht ändern kannst, frag mal (in dem Verzeichnis wo musik.sh steht) mit ls -al .. das übergeordnete Verzeichnis ab. Ansonsten: Du hattest das Skript im Terminal mit ./ musik.sh aufgerufen ...? track
|
KarstenW.
(Themenstarter)
Anmeldungsdatum: 27. Juni 2011
Beiträge: 208
|
Das Skript wie ich es auf meinem Rechner habe geht, doch sobald ich es über Netzwerk auf einen anderen Rechner kopiere habe ich als normaler User auf diesem Rechner keine Rechte. Öffnen lässt sich die Datei auch nur als Text weil sie nicht ausführbar ist, bzw. die Ausführrechte verloren gegangen sind. Ändern kann ich die Rechte nur mit sudo aber nicht als normaler User. Solange ich das Script auf meinem Rechner ausführe geht alles wunderbar.
|
Lysander
Anmeldungsdatum: 30. Juli 2008
Beiträge: 2669
Wohnort: Hamburg
|
KarstenW. schrieb: Das Skript wie ich es auf meinem Rechner habe geht, doch sobald ich es über Netzwerk auf einen anderen Rechner kopiere habe ich als normaler User auf diesem Rechner keine Rechte.
Auf welche Weise passiert denn das Kopieren? Hier spielt die Technologie vermutlich die entscheidende Rolle! Was sagt denn ein ls -l auf diesem Rechner?
|
KarstenW.
(Themenstarter)
Anmeldungsdatum: 27. Juni 2011
Beiträge: 208
|
Ich öffne über Netzwerk den freigegebenen Ordner des jeweiligen Rechners und kopiere dann mit rechte Maustaste kopieren und einfügen. ls -l ergibt folgendes: -rwxr--r-- 1 nobody nogroup 2027 2011-09-21 21:06 rate.sh
|
Lysander
Anmeldungsdatum: 30. Juli 2008
Beiträge: 2669
Wohnort: Hamburg
|
KarstenW. schrieb: Ich öffne über Netzwerk den freigegebenen Ordner des jeweiligen Rechners und kopiere dann mit rechte Maustaste kopieren und einfügen.
Ich fragte nach der Technologie! SCP, FTP, NFS, Samba, usw.
|
KarstenW.
(Themenstarter)
Anmeldungsdatum: 27. Juni 2011
Beiträge: 208
|
|
Lysander
Anmeldungsdatum: 30. Juli 2008
Beiträge: 2669
Wohnort: Hamburg
|
KarstenW. schrieb: Samba
Na dann ist es ja auch logisch, dass da nix "erhalten" bleibt. Windows FS kennen ja die UNIXOIDE Rechtevergabe nicht. Daher wird ein "sinnvoller" Standard festgelegt. Ich nehme mal an, dass man den entsprechend umändern kann.
|