• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Was gibt es Schöneres als den Mai draußen in der Natur mit allen Sinnen zu genießen? Lasst uns teilhaben an Euren Erlebnissen und macht mit beim Thema des Monats Da blüht uns was! ---> Klick

Benutzerechte (on the fly) via Script ändern?

arc

Leipziger Reinette
Registriert
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://[email protected]/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://[email protected]/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".
 

arc

Leipziger Reinette
Registriert
18.10.05
Beiträge
1.787
pete schrieb:
Hast Du schon mal die Abonnieren-Funktionen in iCal und Adreßbuch ausprobiert? Vielleicht löst das Dein Problem auf allersimpelste Weise.

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
 

arc

Leipziger Reinette
Registriert
18.10.05
Beiträge
1.787
pete schrieb:
Hast Du schon mal die Abonnieren-Funktionen in iCal und Adreßbuch ausprobiert?

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
 

arc

Leipziger Reinette
Registriert
18.10.05
Beiträge
1.787
pete schrieb:
Alles, worüber Du sprichst - und Dir Sorgen bereitet - hat nichts mit AppleScript zu tun.
Möchtest Du vielleicht das Board wechseln, um die richtigen Gesprächspartner zu finden?

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
 

arc

Leipziger Reinette
Registriert
18.10.05
Beiträge
1.787
pete schrieb:
Nein, das hat nichts mit AppleScript zu tun.

AppleScript wurde nicht geschaffen, um verkorkste Anwenderansprüche gerade zu biegen, sondern um Programme sinnvoll zu steuern.

Falsche Zugriffsrechte auf Ordner und Dateien sind Sache des Anwenders. Wenn man durchdachte Strukturen ohne Plan beugen muss, um selbst geschaffene Probleme zu beseitigen, kann der letzte Schrei nach AppleScript nichts retten.

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
 

arc

Leipziger Reinette
Registriert
18.10.05
Beiträge
1.787
pete schrieb:
Blödsinn!

Schade, dass Du nicht im geringsten versuchst, konstruktiv zu sein.

Natürlich kann man mit iCal und Adressbuch abonnieren, und wenn Du das wirklich probieren würdest, wäre dieser Thread hinfällig.

Ich verabschiede mich hiermit aus dieser schwachsinnigen Komödie.


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
 

arc

Leipziger Reinette
Registriert
18.10.05
Beiträge
1.787
pete schrieb:
Ich habe immer noch nicht ganz verstanden, was da bei Dir scheitert, wenn der eine Rechner auf den anderen Rechner zugreift.

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
 
Zuletzt bearbeitet: