• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> Klick

Rechte vererben

cyberms

Erdapfel
Registriert
28.07.08
Beiträge
5
@ Strykrer:

wie geht das mi dem Script? Bin ja noch am OSX lernen :)
 

MacMark

Jakob Lebel
Registriert
01.01.05
Beiträge
4.874
… Das hat zur Folge, dass zB beim Speichern mit TextEdit zwar die Inhalte und "traditionellen" Metadaten korrekt gesetzt sind, die dazugehörigen erweiterten Attribute aber verbleiben an der Temporärdatei und werden zusammen mit ihr gelöscht.

Mit traditionelle Metadaten meinst Du die HFS+-Metadaten, die man auch mit GetFileInfo sieht?
Die werden beim "sichern-unter" per TextEdit genauso weggelassen wie die extended attributes.

Beim Kopieren und Umbenennen und Verschieben per Finder bleiben allerdings beide Arten erhalten, beispielsweise locked-Attribut (traditionell) und ein ACE (extended attribute).

Sieht mir eher nach einem Problem von TextEdit aus ;)
 
Zuletzt bearbeitet:

cyberms

Erdapfel
Registriert
28.07.08
Beiträge
5
eure Diskussionen gehen mittlerweile am Thema vorbei. Schön wäre eine Zusammenfassung des Problems inkl Lösung.

Ich kann verstehen das Unix andere Wege geht um der Sicherheit zuträglich zu sein. Ich kann mir aber nicht vorstellen das in einem Unternehmen dies so geht, da viele User zb. eine Doc-Datei benutzten müssen und diese auch verändern können müssen. Das diese Funktion nur mit Microsoft-Produkten abgebildet werden kann glaube ich nicht.

cyberms
 

Rastafari

deaktivierter Benutzer
Registriert
10.03.05
Beiträge
18.150
Die werden beim "sichern-unter" per TextEdit genauso weggelassen wie die extended attributes.
Dann haben die Dateien kein Erstellungs- und Änderungsdatum? Die Anweisung zum unterdrücken des Suffix gilt auch nichts? Wohl schon, oder?

Sieht mir eher nach einem Problem von TextEdit aus
Ein Programm benutzt bereitgestellte APIs die nicht tun, was sie eigentlich tun sollten, und hätte demzufolge selbst ein Problem? Das ist typische Windowsprogger-Workaround-Denke. ("Kannst du die Ursache nicht beheben, mache einfach das Symptom verantwortlich".)
 

strykerkr

Gala
Registriert
08.11.07
Beiträge
52
@ Strykrer:

wie geht das mi dem Script? Bin ja noch am OSX lernen :)


  • Du erstellst zuerst bei Deinen Benutzer Accounts eine neue Gruppe "local" in die Du alle lokalen User mit aufnimmst
  • Dann mit dem Scripteditor ein neues Script mit folgendem Inhalt:

    do shell script "chmod -R +a \"group:local allow list,add_file,search,delete,add_subdirectory,delete_child,readattr,writeattr,readextattr,writeextattr,readsecurity,file_inherit,directory_inherit,limit_inherit\" ./Users//Shared/" user name "admin" password "passwort" with administrator privileges

    admin und passwort musst mit den Deinen Daten ersetzen. Ich weiss das die Unix Freaks hier einen Schreikrampf kriegen wenn Sie sehen das jemand sein Passwort als Klartext in eine Datei schreibt aber ich habe ja keinen Hochsicherheitsserver. Das Script speicherst Du dann ebenfalls irgendwo unter den gemeinsamen Benutzern ab und startest es
  • Dann fuegst Du dieses Script allen Benutzern als Startobjekt mit hinzu
Wie Du die iPhoto und iTunes Library verschiebst findest Du hier im Forum, ansonsten Fragen. Ach ja und Du solltest natuerlich darauf achten das nie zwei Benutzer eines der Programme gleichzeitig oeffnen sonst krachst.

Viel Glueck

Stephan
 

MacMark

Jakob Lebel
Registriert
01.01.05
Beiträge
4.874
... Ein Programm benutzt bereitgestellte APIs die nicht tun, was sie eigentlich tun sollten, und hätte demzufolge selbst ein Problem? ...

Der Finder benutzt doch dieselben APIs wie TextEdit. Es funktioniert mit dem Finder, aber nicht mit TextEdit. Folglich kann es doch nicht an der API liegen?

... erstellst zuerst bei Deinen Benutzer Accounts eine neue Gruppe "local" in die Du alle lokalen User mit aufnimmst ...

Nicht nötig, denn bei Leopard ist jeder Benutzer in der Gruppe "staff". Falls durch Migration von Tiger nicht, dann so fixen:
http://macmark.de/osx_updates.php#leopard_gruppen
 

MacMark

Jakob Lebel
Registriert
01.01.05
Beiträge
4.874
Wann genau benutzt der Finder denn sowas wie FSExchangeObjects?
Bei welcher Aktion denn?

Ich habe auch nicht nachgesehen, ob TextEdit das verwendet. Am sichersten wäre es wohl, diesen Aufruf in einem selbstgeschriebenem Testprogramm zu nutzen.

Möglicherweise liegt es auch daran, daß man etwas anderes nutzen muß:
FSReplaceObject is an example command line tool which shows how to exercise the FSReplaceObject and FSPathReplaceObject related APIs. These APIs are provided to assist in properly preserving metadata during "safe save" operations.
http://developer.apple.com/samplecode/FSReplaceObject/index.html

TextEdit will ja "safe save" machen.
 

Littlehonk

Weigelts Zinszahler (Rotfranch)
Registriert
09.11.07
Beiträge
247
  • Du erstellst zuerst bei Deinen Benutzer Accounts eine neue Gruppe "local" in die Du alle lokalen User mit aufnimmst
  • Dann mit dem Scripteditor ein neues Script mit folgendem Inhalt:

    do shell script "chmod -R +a \"group:local allow list,add_file,search,delete,add_subdirectory,delete_child,readattr,writeattr,readextattr,writeextattr,readsecurity,file_inherit,directory_inherit,limit_inherit\" ./Users//Shared/" user name "admin" password "passwort" with administrator privileges

    admin und passwort musst mit den Deinen Daten ersetzen. Ich weiss das die Unix Freaks hier einen Schreikrampf kriegen wenn Sie sehen das jemand sein Passwort als Klartext in eine Datei schreibt aber ich habe ja keinen Hochsicherheitsserver. Das Script speicherst Du dann ebenfalls irgendwo unter den gemeinsamen Benutzern ab und startest es
  • Dann fuegst Du dieses Script allen Benutzern als Startobjekt mit hinzu
Wie Du die iPhoto und iTunes Library verschiebst findest Du hier im Forum, ansonsten Fragen. Ach ja und Du solltest natuerlich darauf achten das nie zwei Benutzer eines der Programme gleichzeitig oeffnen sonst krachst.

Viel Glueck

Stephan

Hallo Stephan,

ich verstehe aber nicht so recht, warum hier so ein Aufwand betrieben wird, wenns doch einfacher geht. Hier mal der komplette und ausführliche Weg, der zu 100% funktioniert:

1. auf gewünschten Volume ein Verzeichnis VERZEICHNIS anlegen
2. eine Benutzergruppe BENUTZERGRUPPE erstellen und die gewünschten Nutzer hinzufügen
3. im Terminal außerhalb von /VERZEICHNIS eingeben:
3.1.
Code:
chown :BENUTZERGRUPPE VERZEICHNIS
(damit wird der Eigentümer des Verzeichnisses auf die Gruppe gelegt)
3.2.
Code:
chmod g+s VERZEICHNIS
(damit werden alle zukünftig in diesem Verzeichnis erstellten Dateien der Benutzergruppe BENUTZERGRUPPE zugewiesen)
3.3.
Code:
chmod +a "group:BENUTZERGRUPPE allow list,add_file,search,delete,add_subdirectory,delete_child,readattr,writeattr,readextattr,writeextattr,readsecurity,file_inherit,directory_inherit,limit_inherit" VERZEICHNIS

Jetzt einfach eine Datei in dem Verzeichnis erstellen, unter dem zweiten Benutzer der Gruppe anmelden und die Datei versuchen zu löschen.

Ich hoffe jetzt klappts.

Gruß
Heiko
 

cyberms

Erdapfel
Registriert
28.07.08
Beiträge
5
Hallo Heiko,

ja, alle dateien in diesem Ordner bekommen die richtigen Berechtigungen. Aber wenn einer der Benutzer dort ein Unterverzeichnis anlegt, und da wiederrum eine Datei ist die Berechtgung wieder nur für den Benutzer aktiv, und nicht für die Gruppe.
 

Littlehonk

Weigelts Zinszahler (Rotfranch)
Registriert
09.11.07
Beiträge
247
Hallo Heiko,

ja, alle dateien in diesem Ordner bekommen die richtigen Berechtigungen. Aber wenn einer der Benutzer dort ein Unterverzeichnis anlegt, und da wiederrum eine Datei ist die Berechtgung wieder nur für den Benutzer aktiv, und nicht für die Gruppe.

Sorry, mein Fehler, lass mal beim letzen Befehl das "limit_inherit" weg, dann gehts.
 

cyberms

Erdapfel
Registriert
28.07.08
Beiträge
5
Hallo Stephan,

ich verstehe aber nicht so recht, warum hier so ein Aufwand betrieben wird, wenns doch einfacher geht. Hier mal der komplette und ausführliche Weg, der zu 100% funktioniert:

1. auf gewünschten Volume ein Verzeichnis VERZEICHNIS anlegen
2. eine Benutzergruppe BENUTZERGRUPPE erstellen und die gewünschten Nutzer hinzufügen
3. im Terminal außerhalb von /VERZEICHNIS eingeben:
3.1.
Code:
chown :BENUTZERGRUPPE VERZEICHNIS
(damit wird der Eigentümer des Verzeichnisses auf die Gruppe gelegt)
3.2.
Code:
chmod g+s VERZEICHNIS
(damit werden alle zukünftig in diesem Verzeichnis erstellten Dateien der Benutzergruppe BENUTZERGRUPPE zugewiesen)
3.3.
Code:
chmod +a "group:BENUTZERGRUPPE allow list,add_file,search,delete,add_subdirectory,delete_child,readattr,writeattr,readextattr,writeextattr,readsecurity,file_inherit,directory_inherit,limit_inherit" VERZEICHNIS

Jetzt einfach eine Datei in dem Verzeichnis erstellen, unter dem zweiten Benutzer der Gruppe anmelden und die Datei versuchen zu löschen.

Ich hoffe jetzt klappts.

Gruß
Heiko

Moinz,

Jau, endlich meine gewünschte Lösung! Danke vielmals. Ohne den letzten Parameter "limit_inherit" ist alles wie gewünscht. Die Berechtigungen werden unterhalb des Mutterverzeichnisses vererbt.

mfg

Cyberms
 

LKaderavek

Erdapfel
Registriert
19.02.12
Beiträge
3
Berechtigungen für gemischte Netzwerke

Hallo,

also folgendes muss gemacht werden...

Vergesst einmal GUIs, MAC ist halt doch UNIX...

Wenn man einen Share besitzt, mehrere User und Berechtigungsgruppen, dann muss man anscheinend über den Terminal die Rechte vergeben.

Zuerst muss man die Hauptgruppe auf den Share berechtigen...

************************************************** *
Berechtigungen für Gruppe ABC auf Share-NETZLAUFWERK schreiben
************************************************** *

cd /Volumes/"MAC HD"

sudo chown :ABC NETZLAUFWERK
sudo chmod g+s NETZLAUFWERK
sudo chmod +a "group:ABC allow list,add_file,search,delete,add_subdirectory,delet e_child,readattr,writeattr,readextattr,writeextatt r,readsecurity,file_inherit,directory_inherit" NETZLAUFWERK

Diese Berechtigungen müssen jetzt in der GUI vom Finder für alle Unterordner übernommen werden.

Wenn man jetzt Unterordner des Shares für gewisse Gruppen exklusiv berechtigen möchte und die Hauptgruppe sperren möchte.

Muss man über die GUI vom Finder, die Gruppe ABC von den jeweiligen Ordner rausnehmen, und die Änderungen für Unterordner übernehmen.

Danach die Rechte wie gewünscht, für die Spezial-Gruppen zulassen...

************************************************** ***
Berechtigungen für Gruppe SPEZIAL auf Unterordner SPEZIELL schreiben
************************************************** ***

cd /Volumes/"Mac HD"

cd NETZLAUFWERK

sudo chown :SPEZIAL "SPEZIELL"

sudo chmod g+s "SPEZIELL"

sudo chmod +a "group:SPEZIAL allow list,add_file,search,delete,add_subdirectory,delet e_child,readattr,writeattr,readextattr,writeextatt r,readsecurity,file_inherit,directory_inherit" "SPEZIELL"

Diese Berechtigungen müssen jetzt in der GUI vom Finder für alle Unterordner übernommen werden.

So geht man für alle Unterordner vor, die nicht von der Gruppe ALLGEMEIN gelesen werden dürfen.

Wenn man jetzt User explizit auf Verzeichnisse zugreifen lassen möchte, geht man wie folgt vor.

*****************************************
Berechtigungen für User Benutzer1 auf User1 schreiben
*****************************************

cd /Volumes/"Mac HD"

cd NETZLAUFWERK

cd "Persönliche Ordner"

sudo chown "Benutzer1" User1

sudo chmod g+s User1

sudo chmod +a "user:Benutzer1 allow list,add_file,search,delete,add_subdirectory,delet e_child,readattr,writeattr,readextattr,writeextatt r,readsecurity,file_inherit,directory_inherit" "User1"

Diese Berechtigungen müssen jetzt in der GUI vom Finder für alle Unterordner übernommen werden.

So habe ich das Berechtigungs-Problem gelöst.

Selbst APPLE hat uns nicht helfen können.