1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

Benutzerechte (on the fly) via Script ändern?

Dieses Thema im Forum "AppleScript" wurde erstellt von arc, 24.04.06.

  1. arc

    arc Leipziger Reinette

    Dabei seit:
    18.10.05
    Beiträge:
    1.787
    Hallo,

    im "Heimnetzwerk" dient mir ein Mac mini als Mediacenter. Darauf läuft iTunes und so wird der iPod auch dort angedockt.
    Da ich die Option Kontakte und Termine mit dem iPod zu synchronisieren sehr hilfreich finde, habe ich mir ein Script gebastelt (hübsch mit Growl-Support und selbstständigem Mount des Mac mini Volumes), welches einmal täglich automatisch (via iCal) die kompletten Adressbuch- und iCal-Datenbanken auf den Mac mini kopiert. Bisher kein Problem, der Mac mini lief unter dem selben Benutzer wie der G5, von dem die Daten kopiert werden. Dies ist der Hauptbenutzer und dieser hat entsprechend alle Rechte.
    Neulich aber hatte ich etwas zu neugierige Besucher :), die in meiner längeren Abwesenheit mal sehen wollten was sonst noch so "im Mac mini steckt". Nichts passiert, aber das brachte mich auf die Idee einen eingeschränten Nutzer anzulegen, welcher allein Zugriff auf die für's Medien abspielenden und aufzeichnenden Applikationen und Funktionen hat.
    So weit, so gut :). Funktioniert ...

    Nur: Mein Script tut's nicht mehr. Schon das Mounten der System-HD ("Mac mini")klappt nicht mehr im neuen Userkontext. Nennen wir den Benutzer mal "Media" (sein Passwort lautet "media"), so heißt die betreffende Zeile im Script:

    try
    mount volume "afp://Media@192.168.X.X/Mac mini" as user name "Media" with password "media"
    end try

    Das geht so nicht. Die Platte läßt sich nicht mounten. Wie verfahre ich richtig? Zuvor, innerhalb des selben Userkontext (nennen wir ihn mal "Hauptbenutzer" mit dem Passwort "1234") war das kein Problem, da sieht's so aus:

    try
    mount volume "afp://Hauptbenutzer@192.168.X.X/Mac mini" as user name "Hauptbenutzer" with password "1234"
    end try


    Die zweite Frage: Die kopierten Daten (ich hab's zum Test einfach mal per Hand kopiert) stammen vom Hauptbenutzeraccount des G5 (also "Hauptbenutzer"), der Benutzer "Media" auf dem Mac mini hat darauf jedoch kein Zugriffsrecht. Erst wenn ich die Rechte auf dem Mac mini händisch ändere zeigen iCal und das Adressbuch die Daten auch an, und so können diese schlußendlich auch erst mit dem iPod synchronisiert werden (denn darum geht's ja hauptsächlich ;) - damit wir das nicht aus dem Fokus verlieren).

    Kann ich überhaupt, und wenn ja wie, mittels Skript (während, oder nach dem Kopieren) die Benutzerrechte auf den jeweiligen Zielaccount (hier also "Media") anpassen?


    Vielen Dank für's Lesen bis hierher - es längt ein bisschen, sorry,

    Aron

    PS: Von Heinweisn auf ".mac" oder andere Synchronisierungsdienste bitte ich abzusehen :). Es ist in diesem Falle schlicht nicht notwendig und zudem: warum soll ich meine Daten einmal "kreuz und quer über den Globus" jagen um sie am Ende einen Raum weiter zu haben :). Eben dazu hab ich ja ein "Heimnetzwerk".
     
  2. arc

    arc Leipziger Reinette

    Dabei seit:
    18.10.05
    Beiträge:
    1.787
    Pete,

    hey, coole Idee! Hab ich noch nicht probiert, aber sounds good! Ich geb Bescheid ob's vielleicht tatsächlich so einfach geht.

    Zu Deiner ersten Antwort: Bei mir als eingefleischtem Hobbyparanoiker :) haben alle anderen Rechner selbstredend wenigstens minimale Zugangskontrollen.Das "offene Scheunentor" Mac mini hat mir von Anfang an etwas Sorgen gemacht. Man weiß ja wie das ist :) ... ich hab das alles im Ursprung erstmal testhalber eingerichtet um zu sehen ob's überhaupt taugt und so ... naja und dann blieb's eben so. Eigentlich wollte ich mir längst ein gutes Konzept ausgedacht haben ... Die Spielerei meiner Gäste war nun der willkommene Anlaß Hand anzulegen.

    Was nicht geht: Ist das Passwortabsichern des Mac mini. Zum Einen muß er "Durchstarten können" (das geht allerdings selbst mit Passwort wie ich gersten beim Einrichten mitbekam -> Systemeinstellungen / Benutzer / Anmelde Optionen / Automatisch anmelden als ...") um den Start der TV-Applikation zur zeigerechten Aufnahme zu gewährleisten.
    Zum Anderen: Macht es schon Sinn wenn Freundin / Freunde und Besucher wenigstens die "Stereoanlage", das "TV" und "Video" ohne meine Hilfe in Betrieb nehmen können ;). Das sollen sie ja sogar explizit. Bin ja nicht ständig zu hause.

    Und was das Mounten angeht: Wenn ich die Platte als Benutzer "Hauptbenutzer" (also wie bisher) mounte, habe ich keine Schreibrechte im Library-Folder des neuen Benutzers (hier also "Media"). Damit kopiert er also schlicht gar nichts. Da dachte ich eben ich mounte sie als Benutzer "Media" - aber das scheitert halt :/.


    Vielen Dank bis hierher, ich geb' Becheid ob das mit dem Abbonieren hinhaut ... Wobei mir zuerst mal aufkommt, das ich dann iCal und Adressbuch mindestens einmal starten müsste vor dem Sync, und der Kalender und das Adressbuch leer bleiben, wenn der "Host" nicht im Netz, oder aber abgeschaltet ist.

    Danke und liebe Grüße,

    Aron
     
  3. arc

    arc Leipziger Reinette

    Dabei seit:
    18.10.05
    Beiträge:
    1.787
    So,

    ausprobiert. Leider ohne Erfolg. Adressbuch will Internet (fragt nach .mac) und für iCal krieg ich den rechten Pfad (ich habs mit "afp://.., ohne, etc. pp. versucht) nicht hin. Schade, klang nach echt guter Idee!
    Nun, wenn alle Stricke reißen, einen Internetsync (hab'n MacNews-Account) kriegte ich immer hin, ich will's nur gern lokal - liebe Paranoia :).


    Vielen Dank nochmal,

    Aron
     
  4. arc

    arc Leipziger Reinette

    Dabei seit:
    18.10.05
    Beiträge:
    1.787
    Doch :),

    das, ganze Drumherum dient doch lediglich der Erklärung.

    Fakt ist: Ich habe ein Script geschrieben das bisher tat was ich ich wollte, in der neuen Situation nun ebendis jedoch nicht mehr tut. Also bleibt die Frage, wie schreib ich's um, so das es seinen Dienst weiterhin versehen kann.

    Die Kernfrage bleibt: Wie verändere ich die Zugriffsrechte auf Ordner und Dateien mittels AppleScript? Oder ist das schlicht nicht möglich?

    Das hat schon mit AppleScript zu tun - da hilft auch auch herauskomplimentieren ;p.


    Liebe Grüße,

    Aron
     
  5. stoebe

    stoebe Uelzener Rambour

    Dabei seit:
    23.12.05
    Beiträge:
    371
    Jaaa, pete... :eek:
     
  6. arc

    arc Leipziger Reinette

    Dabei seit:
    18.10.05
    Beiträge:
    1.787
    Hey,

    sag doch einfach: Geht nicht :). "Verkorkst" ist da nun nichts. Ich steuere das Programm "Finder" um den Kram nicht jedesmal händisch kopieren zu müssen.

    Und die alte Mär davon, das das Problem VOR dem Rechner sitzt zieht leider auch nicht wirklich.
    Wenn Dir nichts einfällt: Okay! Macht ja nichts.
    Zu behaupten mein Problem wäre keines, weil ich mich nicht an irgendwelche "Strukturen" halten würde scheint mir etwas ungeschickt, sorry. Ich will nicht dem Computer zuarbeiten, sondern er sollte mir das Leben nach Möglichkeit leichter machen. So seh ich das. Da pfeiff ich erstmal auf Strukturen und probiere eben was geht.
    An dem ersten Script hab ich auch zwei Tage gesessen bis ich heraus hatte wie das funktioniert. Oh holde Tugend Geduld.

    Ganz so abwegig dürfte die Frage, ob man die Benutzerrechte an Datein via Script ändern kann, nicht sein. Zumindest sollte sie "erlaubt" sein, oder? :) Dazu ist das Forum doch da.


    Vielen Dank für Dein Engagegement - die Abbonieren-Idee war ja erstmal bezaubernd, ich seh mich einfach noch ein bisschen um :),

    Aron
     
  7. arc

    arc Leipziger Reinette

    Dabei seit:
    18.10.05
    Beiträge:
    1.787

    Was ich wollte und will stand und steht im Betreff :). Das ist doch eingermaßen griffig formuliert - der Rest diente der Schilderung des Urspungs für diesen Wunsch. Warum? Um evt. Tips auch aus einer ganz anderen Richtung zu erhalten - und Dein Abo-Tip war ja im weitesten Sinne ein solcher.

    Aron
     
  8. arc

    arc Leipziger Reinette

    Dabei seit:
    18.10.05
    Beiträge:
    1.787
    Danke :).


    Liebe Grüße,

    Aron
     
  9. arc

    arc Leipziger Reinette

    Dabei seit:
    18.10.05
    Beiträge:
    1.787
    Hallo Pete,

    woran's genau scheitert - da wird unser Problem liegen ;) - kapier' ich ja auch nur zur Hälfte.

    Also abstrahieren wir das Ganze mal soweit, das es "allgemein" gültig sein könnte. Dazu lassen wir der weiteren Vereinfachung halber, unterschiedliche Volumes, also die ganze Netzwerkproblematik, zuerst mal weg und stellen uns vor:

    Ich möchte auf _einem_ Mac Folder und Dateien von einem Useraccount "A" auf einen anderen "B" kopieren - jeweils im Libraryzweig des Benutzers - und während oder nach diesem Vorgang die Benutzerrechte der kopierten Files (für die "B" auch nach dem Kopiervorgang nur Leserechte besitzt, weil sie noch immer "A" gehören) so anpassen, das "B" als "B" die gleichen Rechte hat wie sie "A" als "A" an den Files besitzt. "A"s Rechte daran können hingegen beschnitten werden. Das ganze sollte "automatisch", also ohne händischen Eingriff von statten gehen.
    Der Kopiervorgang selbst, also das Script, wird im Kontext des Users "A" gestartet.

    - "A" ist Hauptbenutzer, darf also "Diesen Computer verwalten"
    - "B" darf dies nicht, hat also eingeschränkte Rechte

    Folgende Probleme ergeben sich für mich in der geschilderten Konstallation:

    1.) Die zu kopierenden Dateien liegen unterhalb des jeweiligen User-Library-Folders: Auf diesen hat, außer dem eigenen, ad hoc auch ein "Hauptbenutzer" (also unser "A" hier) keinen schreibenden Zugriff.
    Das Schreibrecht darauf lässt sich allerdings händisch anpassen, wäre ein einmaliger Vorgang. Allerdings erscheint mir das (hier meldet sich die Struktur ;)) nicht wirklich sehr sexi. Library ist System, und davon liesse ich durchaus gern die Finger.

    2.) Die kopierten Dateien besitzen nach dem Kopieren immer noch die gleichen Rechte. D.h. "A" kann lesend und schreibend darauf zugreifen, aber "B", der sie nun eigentlich nutzen soll, darf "Nur lesen". (Konkret: Damit kann sich weder iCal nach das Adressbuch anfreunden und so zeigen beide einfach gar nichts an.)
    Hier wäre ein gescriptetes "Rechte übernehmen" schick. Wird aber wohl schwierig, weil das Script ja von "A" ausgeführt wird, und "A" hat sie ja, die Rechte und kann sie scheints nicht _einfach_ "übergeben", "überschreiben".

    Lösungsideen:

    1.) Macht es evt. Sinn das Script im Kontext von "B" zu starten. Erhält "B" als "kopierender Benutzer" automatisch die Rechte an in seinen Library-Folder kopierten Dateien?
    Unvorteilhaft bei diesem Lösungsansatz:
    a.) "A" ist nicht immer verfügbar, "B" schon. Also könnte ein allein zeitlicher Automatismus uU. in's Leere laufen - das müßte Programmtechnisch abgefangen werden - Mehrarbeit.
    b.) So wie's bisher aussieht muß ich dazu "B" Leserechte in "A"s Library-Folder geben (zumindest partiell) das scheint mir keine so gute Idee :).

    2.) Bringt mich zurück zu meiner eigentlich Frage: Kann ich dieses ganze Rechte"gedöns" irgendwie sexi, also einfach, sozusagen in zwei Klammern stellen um mich dann nicht mehr darum zu kümmern?

    3.) Evt. nenne ich den Account "B" in "A" um (das geht natürlich nur auf zwei unterschiedlichen Rechnern), gebe diesem aber nur eingeschränkte Rechte. Verschwindet das Zugriffsproblem damit? Vielleicht. Aber dann kann " A' " wohl lesend auf alle Daten von "A" zugreifen. Man ist das alles kompliziert. Wie Bürokratie!

    4.) Synchronisation über's Internet. Aus genannten Gründen nur als Notfall in Betracht zu ziehen.

    5.) Ich verkaufe den iPod wieder :).

    --

    So, das war möglichst allgemein formuliert, und stellt - wie ich finde - eine interessante Frage dar. Auch jenseits meines konkreten Problems.

    Bis vor ca. einem Jahr habe ich Windows als Betriebssystem benutzt und so ziemlich alle Backup und Kopiervorgänge zeitgesteuert mittels einfacher Batch-Dateien erledigen lassen. Aufgrund der mangelhaften Sicherheitsarchitektur Windows' war das deutlich weniger problematisch ;).
    Unter Umständen verstehe ich AppleScript wirklich falsch ... Ich finde schon kein einfaches "Copy"-Kommando, sondern muß, um ein paar popelige Folder zu kopieren, seltsame Konstrukte wie "duplicate folder ... to ... with replacing" benutzen.
    Wahrscheinlich wäre das von der Shell aus alles viel unproblematischer, aber dazu ist der Zugang ja noch komplizierter als zu AppleScript.

    --

    Von der anderen Seite aus gesehen: Also das konkrete Problem betreffend stellt sich die Frage: Wie stelle ich's am besten an, auf dem Medienserver im Wohnzimmer bestimmte Daten, die generell auf einem anderen Mac _erzeugt_ werden, zumindest lesbar tagesaktuell zu halten. Ein eigentliches "Synchronisieren" ist gar nicht gefragt. Erzeugt und verändert werden die Daten auf anderen Rechnern.

    So, danke das Du Deine Geduld wiedergefunden hast, als Nichttechi fehlt mir wohl die rechte Syntax für die richtig "knackige Problembeschreibungen" also klingt's schnell wirr. Verzeihung. Mein kleiner Cousin würde an dieser Stelle sagen: Ey Alter, voll der viele Text!
    Ich weiß nicht wie ich's kürzer beschreiben soll ;).

    Liebe Grüße,

    Aron
     
    #9 arc, 25.04.06
    Zuletzt bearbeitet: 25.04.06

Diese Seite empfehlen