Problem Berechtigung Skript

Status
Für weitere Antworten geschlossen.

Hellibo

Benutzer
Mitglied seit
10. Mai 2017
Beiträge
5
Punkte für Reaktionen
0
Punkte
0
Hallo Leute, ich habe seit kurzem eine DS215j und ich bin gerade dabei mir eine Backuplösung einzurichten. Diese soll ein Skript per Aufgabenplaner ausführen welches einen Hyperbackup Job startet. Das ist mein Ziel. Momentan hänge ich an der grundsätzlichen Ausführung von Skripten fest. Auf der DS befindet sich das aktuelle Update DSM 6.1.

Das Problem stellt sich wie folgt dar: ich verbinde mich mit dem Programm WINSCP (als root, mit private Key) mit der DS. Skriptdatei konnte ich abspeichern im Verzeichnis /usr/bin/

Wenn ich mich jetzt per Telnet verbinde (mit einem Benutzer der admin Gruppe) und per sudo -i zum root Benutzer wechsel sagt mir die DS beim Versuch das Skript auszuführen: permission denied. Das kann ich leider nicht nachvollziehen und ich hoffe ihr könnt mir da helfen. Der Besitzer der Skriptdatei ist root.

Auf eine andere Art funktioniert es, wenn ich mich mit dem selben Benutzer der admin Gruppe per Browser auf die DS verbinde und im Aufgabenplaner das Skript manuell starte, wird es ausgeführt. Das sehe ich da ich das logging aktiviert habe, er erstellt mir dann eine Output.log Datei. Ich würde das nur gerne direkt im Telnet Fenster ausführen da ich so schneller sehe was beim eigentlichen skript schief läuft.
 

dil88

Benutzer
Contributor
Sehr erfahren
Mitglied seit
03. Sep 2012
Beiträge
29.715
Punkte für Reaktionen
1.022
Punkte
754
Willkommen im Forum!

Wie rufst Du die Skriptdatei auf? Gehst Du ins Verzeichnis, in dem sie liegt, und startest sie dann per ./script.sh? Welche Rechte hat das Skript? 744?
 

Hellibo

Benutzer
Mitglied seit
10. Mai 2017
Beiträge
5
Punkte für Reaktionen
0
Punkte
0
Genau, ich gehe ins Verzeichnis und rufe sie dann mit test.sh auf, sieht so aus:

root@DS215j:/usr/bin# test.sh
-ash: /bin/test.sh: Permission denied

Bei den Rechten steht 0644, Besitzer ist root
 

dil88

Benutzer
Contributor
Sehr erfahren
Mitglied seit
03. Sep 2012
Beiträge
29.715
Punkte für Reaktionen
1.022
Punkte
754
Ok, beides ist nicht gut. Starte nicht mit test.sh sondern - wie ich oben schon schrieb - mit ./test.sh. Und setze die Rechte auf 0744, dann ist das Skript ausführbar für den Eigentümer root.
 

Hellibo

Benutzer
Mitglied seit
10. Mai 2017
Beiträge
5
Punkte für Reaktionen
0
Punkte
0
Super, jetzt klappt es. Kannst du mir noch sagen warum genau das vorher nicht ging. Was genau ist der Unterschied zwischen 0644 und 0744. Und weshalb ist es besser das Skript mit ./test.sh zu starten?
 

dil88

Benutzer
Contributor
Sehr erfahren
Mitglied seit
03. Sep 2012
Beiträge
29.715
Punkte für Reaktionen
1.022
Punkte
754
Hier die Kurzform: 6 gibt Schreib-/Leserechte, nicht aber das Ausführungsrecht, dafür brauchst Du die 7. Wenn Du mit ./ startest, wird der aktuelle Pfad verwendet. Startest Du ohne Pfad, wird über die PATH-Variable gesucht. Steht da . nicht drin, was oft aus Sicherheitsgründen so ist, funktioniert der Start nicht.
 

TeXniXo

Benutzer
Mitglied seit
07. Mai 2012
Beiträge
4.948
Punkte für Reaktionen
99
Punkte
134
chmod 0abc (eigentlich auch abc ohne "0", da dreistellig gemäß ist)

a = lesen (für lesen hat man 4 punkte, für schreiben 2 punkte und für ausführen 1 punkt > muss man die zahlen addieren, um der datei gewisse rechte einzuräumen)
b = schreiben (für lesen hat man 4 punkte, für schreiben 2 punkte und für ausführen 1 punkt > muss man die zahlen addieren, um der datei gewisse rechte einzuräumen)
c = ausführen (für lesen hat man 4 punkte, für schreiben 2 punkte und für ausführen 1 punkt > muss man die zahlen addieren, um der datei gewisse rechte einzuräumen)

also 0777 bzw. 777 = höchste Rechtestufe
 

AndiHeitzer

Benutzer
Sehr erfahren
Mitglied seit
30. Jun 2015
Beiträge
3.214
Punkte für Reaktionen
503
Punkte
174
Die Rechte im Linux-Filesystem werden recht oft im Internet beschrieben.

Eine recht ausführliche Beschreibung gibt es zum Beispiel hier: https://wiki.ubuntuusers.de/Rechte/
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat