Push-Nachrichten von MacTechNews.de
Würden Sie gerne aktuelle Nachrichten aus der Apple-Welt direkt über Push-Nachrichten erhalten?
Forum>Software>Terminal-Spezis: Rechte ändern?

Terminal-Spezis: Rechte ändern?

Oli
Oli21.08.0622:35
Hallo Terminal-Experten,

vorweg: Ich habe vom Terminal und den Shell-Befehlen null Ahnung. Ich weis nur, dass es sie gibt

Ich habe ein Skript von Apple modifiziert, das in "Hotfolder"-Manier einen Ordner überwacht, und die da auftauchenden Bilder in Aperture importiert. Das funktioniert auch wunderbar. Nur findet die Übertragung per WLAN / FTP statt, und bisher übertrage ich eben in einen Ordner des angemeldeten Benutzers. Dazu muß ich in der Kamera den Benutzer und dessen Kennwort angeben, dieses wird dann per WLAN zur FTP-Anmeldung gesendet. Die Kamera unterstützt nur WEP... also ist das alles sehr leicht knackbar.

Deswegen habe ich mir vorgenommen, die Kamera an einen Benutzer anmelden zu lassen, der nur fürs Bilderempfangen zuständig ist. Problem dabei: Die im Hotfolder angekommenen Bilder haben für "meinen" Benutzer keinerlei Rechte, obwohl der Hotfolder so eingestellt ist, daß "ich" darin lesen und schreiben darf. Die Bilder "erben" diese Rechte anscheinend nicht.

Als Lösung stelle ich mir vor, in das Ordnerüberwachungsscript so etwas wie

do shell script "Rechte von dieser Datei auf alle dürfen lesen und schreiben ändern"

einzufügen. Was muß da stehen? Ich habe mir man chmod angeschaut, aber verstehe nur Bahnhof....

Für sachdienliche Hinweise bin ich schon jetzt unendlich dankbar...
und werde heute erst recht spät am Abend dazu kommen, hier nochmal reinzuschauen. Also bitte nicht wundern, wenn ich nicht sofort auf Rückfragen reagieren kann...
0

Kommentare

Rantanplan
Rantanplan21.08.0622:45
man chown
„Wenn ich nicht hier bin, bin ich auf dem Sonnendeck“
0
Arachnid
Arachnid21.08.0622:49
Genau, wie Ranti sagt.
0
freeroot
freeroot21.08.0623:32
chown a+rw Dateiname(n)

also z.B.

chown a+rw *.jpg

für alle JPEG Dateien oder einfach * für alles

„vertrauen sie mir, ich habe einen mac
0
Oli
Oli22.08.0614:16
Danke für die schnellen Hinweise. Ich stecke aber leider in einer Sackgasse.
Ich habe mir man chown angesehen, und daraufhin testweise im Terminal

meinuser:~ meinuser $ chown meinuser /Users/wlanimport/Public/WLANIMPORT/0717_JPG_TEST_Bine_Caro.JPG

eingegeben. Aber ich darf das wohl nicht ändern, als Ergebnis kommt:

chown: /Users/wlanimport/Public/WLANIMPORT/0717_JPG_TEST_Bine_Caro.JPG: Operation not permitted

Ich muß mich ja auch im Info-Fenster erst als Admin identifizieren (meinuser ist Admin), bevor ich das ändern kann. Also vermute ich, daß ich auch hier Adminrechte haben muß. Nur: Wie bekomme ich die?

Und @@ freeroot: a+rw finde ich im man nicht, und bekomme einen Fehler "Invalid argument".

Was tun?
0
Oli
Oli22.08.0614:32
E-Mail ein...
0
NoName
NoName22.08.0614:39
Wenn er die Rechte für alle r+w vergeben möchte kann er doch auch
chmod -Rf 777 [datei oder ordner]
in sein Script einbauen, oder nicht?
„Komm wir essen Opa (Satzzeichen retten leben)“
0
Rantanplan
Rantanplan22.08.0614:45
Mit sudo, aber das ist für ein Programm das automatisch ab und zu mal Daten holt nicht praktikabel, weil du dann jedes Mal das Kennwort eingeben müßtest.
„Wenn ich nicht hier bin, bin ich auf dem Sonnendeck“
0
Oli
Oli22.08.0614:50
Hm, bei NoNames -Rf 777 passiert gar nichts:

meinuser:~ meinuser$ chmod -Rf 777 /Users/wlanimport/Public/WLANIMPORT/0717_JPG_TEST_Bine_Caro.JPG
meinuser:~ meinuser$

... die Rechte sind immer noch wie vorher. Und jedesmal ein Kennwort eingeben wäre bestens dazu geeignet, und den Betrieb lahmzulegen. Während eines Shootings kommt gut und gerne jede Sekunde ein Bild in dem Hotfolder an...

Any more ideas?
0
Oli
Oli22.08.0614:50
und = uns
0
Rantanplan
Rantanplan22.08.0614:52
Wie hast du das kontrolliert? Apfel-I? Mach lieber ein "ls -l dateiname".
„Wenn ich nicht hier bin, bin ich auf dem Sonnendeck“
0
Mac-Sysadmin
Mac-Sysadmin22.08.0614:55
Hol Dir BatChmod und machs damit.
0
Oli
Oli22.08.0614:58
Da steht dann ----rw---- 1 wlanimpo wlanimpo 263010 Aug 15 14:48 /Users/wlanimport/Public/WLANIMPORT/0717_JPG_TEST_Bine_Caro.JPG

Das ist dasselbe: Keine Rechte für sonstwen. Oder nicht? Sorry für meine relative Hilflosigkeit, aber die Terminalerei ist für mich komplettes Neuland. Ich habe schon fast den Eindruck, es lieber zu lassen wie gehabt

Liege ich überhaupt richtig mit meiner Vermutung, dass es keine sonderlich sichere Sache ist, wenn bei dieser FTP-Anmeldung unsere User / PW -Kombi mitbesendet wird?
0
Oli
Oli22.08.0615:04
Mac-Sysadmin: Das nutzt mir in diesem Fall vermutlich wenig, ich will die Rechte ja von einem Script ändern lassen, und soweit ich sehe unterstützt BatChmod AppleScript nicht (zumindest taucht es nicht im Funktionsverzeichnis auf...)
0
Rantanplan
Rantanplan22.08.0615:06
Komisch. Und da kommt keine Fehlermeldung? Äh... naja, die Option -f ist natürlich kontraproduktiv, die unterbindet Fehlermeldungen. Machs mal ohne.

Sicher ist das natürlich nicht. Sofern irgendwer die Daten mitlesen kann, hat er die Logindaten.
„Wenn ich nicht hier bin, bin ich auf dem Sonnendeck“
0
Oli
Oli22.08.0615:12
Ratanplan: Danke für die klare Aussage zur Sicherheit. Die hat jetzt nur den Nachteil, daß ich euch solange nerven werde, bis eine Lösung gefunden ist O:-)O:-):-X

ohne -f erhalte ich

meinuser:~ meinuser$ chmod -R 777 /Users/wlanimport/Public/WLANIMPORT/0717_JPG_TEST_Bine_Caro.JPG
chmod: /Users/wlanimport/Public/WLANIMPORT/0717_JPG_TEST_Bine_Caro.JPG: Operation not permitted

Da scheinen mir also auch die Rechte zu fehlen. Kann ich denn nicht irgendwie zeitweise der "wlanimport"-User sein in so einem Befehl? Oder würde das der zugrunde liegenden Sicherheitsidee komplett widersprechen?
0
_mäuschen
_mäuschen22.08.0615:24

su wlanimport
  chown ....
exit
0
_mäuschen
_mäuschen22.08.0615:25
[EDIT]natürlich mit chmod
0
Oli
Oli22.08.0615:36
mäuschen: Da muß ich ja dann wieder das Passwort angeben...

Ich habe in der Zwischenzeit ein wenig in den Technotes gesucht, und bin auf einen Weg gestossen der funktionieren könnte. Einziger Nachteil: Ich muß dazu den "wlanimport"-User zum Admin machen, sonst geht es nicht.

do shell script "chmod -R 777 /Users/wlanimport/Public/WLANIMPORT/0717_JPG_TEST_Bine_Caro.JPG" user name "wlanimport" password "********" with administrator privileges

Das scheint zu funktionieren. Jetzt stellt sich natürlich wieder die Frage nach der Sicherheit: Ist es ein wirklich ernsthaftes Problem, wenn wlanimport auch Admin ist? Ich befürchte das ja fast...
0
evilalex
evilalex22.08.0615:55
du kannst auch - wenn dir das nichts ausmacht - sudo im script benutzen indem du das passwort an sudo fest übergibts zb.:
echo "password"|sudo chmod...
0
Oli
Oli22.08.0616:06
Jetzt hab ich (zusammengebastelt aus all den guten Tips hier, VIELEN DANK!) wohl die Lösung gefunden:

do shell script "chown meinuser:meinuser /Users/wlanimport/Public/WLANIMPORT/0717_JPG_TEST_Bine_Caro.JPG" user name "meinuser" password "*****" with administrator privileges
do shell script "chmod -R 777 /Users/wlanimport/Public/WLANIMPORT/0717_JPG_TEST_Bine_Caro.JPG"

Ich ändere also erst den Eigentümer (und nutze dazu die Administratorrechte des angemeldeten Benutzers) und ändere dann die Schreib-/Leserechte.

ls -l liefert dann "-rwxrwxrwx 1 meinuser meinuser 263010 Aug 15 14:48 /Users/wlanimport/Public/WLANIMPORT/0717_JPG_TEST_Bine_Caro.JPG"

Jetzt muß das ganze nur noch im Rahmen der Hotfolder-Überwachung klappen. Drückt mir die Daumen
0
_mäuschen
_mäuschen22.08.0616:18

  Jetzt sind wir aber in einem AppleSkript

und die@@administrator privileges werden hier benötigt
 um eben gerade dieses
 (su) user name "wlanimport" password "***" ausführen zu können
0
evilalex
evilalex22.08.0616:22
schon allein der vollständigkeit halber musste ich die methode mit der pipe erwähnen.
0
Oli
Oli22.08.0616:24
mäuschen: Stimmt.
Aber da wollte ich ja eigentlich auch immer hin ("do shell script "Rechte von dieser Datei auf alle dürfen lesen und schreiben ändern""), damit ich das in das Script einbauen kann, das als Ordneraktion den Hotfolder "überwacht".
Verstehe ich das richtig, das "with administrator privileges" in so einem do shell script eigentlich nichts anderes ist als "su" im Terminal? Dann ist ja alles gut...
0
Oli
Oli22.08.0616:25
evilalex: Schon allein der Lernwilligkeit halber: Ist die "pipe", wenn man das Passwort mit in sudo schreibt? Ich "pipe" also quasi auch...
0
evilalex
evilalex22.08.0616:28
Oli
evilalex: Schon allein der Lernwilligkeit halber: Ist die "pipe", wenn man das Passwort mit in sudo schreibt? Ich "pipe" also quasi auch...

Sorry, wie meinen ?
0
_mäuschen
_mäuschen22.08.0616:37

Ist dieser wlanimport user eigentlich immer aktiv?

Dann hänge die Folder Action als eingelogter wlanimport an.
Dann brauchts die administrator privileges nicht
0
_mäuschen
_mäuschen22.08.0616:43
das zweite Dann==So

Ah, die Kamera meldet sich per FTP an.
Da weiss ich nicht ob die Folder Actions auch zum Zuge kommen.
0
Oli
Oli22.08.0616:45
Evilalex: Ich hab nur nicht kapiert was "pipe" ist....

mäuschen: wlanimport ist immer aktiv, aber nie eingeloggt. Das Script, das den ganzen Ablauf steuert, entfernt am Anfang erst mal alle angehängten Ordneraktionen vom Hotfolder, und hängt diese dann neu an. Ich kann nicht genau sagen, warum Apple das so programmiert hat, aber es hat natürlich den Vorteil, dass (bei meinen derzeit ständig neuen Releases) immer die aktuellste Version verwendet wird, die mit im Programm-Package liegt.
Aber für die Zukunft (wenn ich also nicht mehr ständig weiterver(schlimm)bessere ist das eine sehr gute Idee!
0
Oli
Oli22.08.0616:47
Nochmal mäuschen (das geht hier ja schneller als ich tippen kann):
Doch, das funktioniert einwandfrei, bisher läuft das ja auch schon so. Nur dass der Hotfolder halt beim angemeldeten User liegt.
0
evilalex
evilalex22.08.0616:53
Ah achso sorry.
pipe heisst der senkrechte strich vor dem sudo.
0
Oli
Oli22.08.0617:58
evilalex: Wieder was gelernt, danke
0
Pseudemys
Pseudemys22.08.0619:10
Mac-Sysadmin
Hol Dir BatChmod und machs damit.
Genau!

Hat sich bei mir auch schon sehr bewährt.
Damit geht das Ganze doch viel einfacher als über das Terminal.
0
_mäuschen
_mäuschen22.08.0619:21

Kann man denn BatchMod skripten?

Kann BatChmod das auch atomatisch?

Kann batCHmod mehr als das Terminal?
0
Oli
Oli22.08.0619:27
mäuschen: Soweit ich sehe, geht das alles damit nicht (siehe 13:04)

Aber BatChmod hat mir beim testen trotzdem gut geholfen, um bei den Scripttest die Rechte wieder zurückzustellen. Deswegen nochmal danke auch für diesen Tip...
0
Pseudemys
Pseudemys22.08.0619:27
_mäuschen

Von Haus aus wohl nicht, da könnte evtl. der Entwickler mit Skripten weiterhelfen, mitunter sind die ja aufgeschlossen.

Du bist halt im Terminal fit, aber wer eine einfache Lösung sucht, wird, wenn es sie gibt, immer entsprechende Alternativen suchen wollen.

0

Kommentieren

Diese Diskussion ist bereits mehr als 3 Monate alt und kann daher nicht mehr kommentiert werden.