• 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

Ordner "Geschützt" kann nicht aufgehoben werden in der Information

mosh

Braeburn
Registriert
08.02.11
Beiträge
44
Ich habe folgende Problem:

Ich habe einen Ordner in der Information vor einiger Zeit durch markieren des entsprechenden Feldes geschützt. Dadurch erschien ein Schloss im Ordner-Icon und alles klappte gut.

Nun will ich den Schutz wieder aufheben, um Sharing- und Zugriffsrechte zu ändern, und es geht nicht.

Ich klicke auf das Schloss, gebe mein Passwort ein und das Feld für "Geschützt" bleibt blass und der Haken lässt sich nicht entfernen. Somit kann ich auch die Sharingrechte nicht ändern etc.

HILFE! Bitte... :)
 

Rastafari

deaktivierter Benutzer
Registriert
10.03.05
Beiträge
18.150
Der Dateischutz kann nur vom Eigentümer des Objekts oder dem root-Benutzer (zB per 'sudo chflags nouchg ...' im Terminal) geändert werden.
 

mosh

Braeburn
Registriert
08.02.11
Beiträge
44
Der Dateischutz kann nur vom Eigentümer des Objekts oder dem root-Benutzer (zB per 'sudo chflags nouchg ...' im Terminal) geändert werden.

Ich bin der einzige Nutzer und Eigentümer des Rechners und habe entsprechend das Administratorpasswort. Dieses gebe ich auch, wie gesagt, ein, wenn ich das "Schloss entriegle" in den ORdnerinformationen. Dennoch bleibt das "Geschützt" bestehen und das Häkchen kann nicht entfernt werden.

Weißt du, woran das liegen kann?

Was ist ein Root-Benutzer? Was bewirkt dieser Terminal-Befehl?
Wie könnte ein anderer Eigentümer des Objekts fälschlicherweise entstanden sein?
 

Rastafari

deaktivierter Benutzer
Registriert
10.03.05
Beiträge
18.150
Weißt du, woran das liegen kann?
Siehe Post #2
Es sei denn, ein böswilliger Mensch hätte dir (mit Administratorrechten) eine spezielle Sonderform des Dateischutzes verpasst, die sich überhaupt nicht mehr aufheben lässt. Davon ist aber ja wohl nicht auszugehen.

Was ist ein Root-Benutzer?
Der "Gott" unter den Benutzern eines jeden Unix-Systems.
Auch ganz allgemein als der "superuser" bezeichnet - sein voller Name lautet unter OS X auf "System Administrator", seine numerische Benutzerkennung (UID) ist die Null und sein Login-Kurzname ist traditionell "root". In den grafischen Programmen der OSX-GUI wird er auch vereinfachend als "System" bezeichnet.
Der Unterschied zu allen anderen Konten besteht ganz einfach darin, dass seine Zugriffsberechtigungen überhaupt nie geprüft werden. Egal was auch immer er tun will - er darf das, Punkt.
Eine "gewöhnliche" Anmeldung unter diesem Namen ist gesperrt, aber nach einem kleinen Systemeingriff möglich. Da man sich damit allerdings gewaltig sein System zerballern kann (und das fast unweigerlich immer tut, auch ohne irgendwas bewusst falsch gemacht zu haben), ist davon dringend abzuraten. Egal was auch immer du irgendwo liest - diese Freischaltung des root-Kontos ist niemals erforderlich.

Was bewirkt dieser Terminal-Befehl?
Er hebt das "geschützt" Attribut mit den Privilegien dieses root-Benutzers auf.
(Für eines oder beliebig viele Objekte, auf Wunsch auch rekursiv für ganze Ordnerhierarchien.)

Der Befehl besteht aus mehreren Einzelkomponenten:

Das als zusätzliche Präfix zum eigentlichen Befehl benutzte Kommando "sudo" sorgt dafür, dass der folgende Restbefehl mit den Rechten eines beliebigen anderen Benutzers ausgeführt wird. Wird dieser (wie zB hier) nicht explizit benannt, ist damit der root-Benutzer gemeint. (Das ist der häufigste Einsatzfall für sudo)
"sudo" erfordert die Eingabe des eigenen Admin-Kennworts (und kann auch nur von Administratoren benutzt werden).
Diese Verifizierung dient der Absicherung gegen eine missbräuchliche Benutzung dieses überaus gefährlichen Befehls, ein einmal eingegebenes Kennwort bleibt für eine Toleranzzeit von üblicherweise 5 Minuten gültig, in der jeder weitere Aufruf von "sudo" gewissermassen auf "scharf geschaltet" bleibt.

Das eigentliche Kommando "chflags" ändert diverse speziellere Dateiattribute, die über das 'normale' Unix-Pflichtenheft hinausgehen und im BSD-Terminus daher nicht als "Permissions" (Rechte), sondern als "Flags" bezeichnet werden. Eines dieser "besonderen" Flags ist der via Finder zugängliche "geschützt" Marker.
Seine Wirkung geht deutlich über einen sonst üblichen, einfachen Entzug des Schreibrechtes hinaus - er verhindert wirklich *jede* Änderung an einem Objekt, und zwar nicht nur des Inhalts, sondern auch seiner essentiellen Metadaten wie Name, Etikett oder den Ablageort. Auch die Änderung der 'normalen', Unix-typischen Zugriffsregeln wird dadurch unterbunden.
Wird einer Datei lediglich das übliche Schreibrecht genommen (also auf "nur lesen" oder "keine Rechte" gesetzt), dann lautet eine eventuelle Fehlermeldung beim Versuch des Schreibzugriffs nur "permission denied" - also "Erlaubnis verwehrt". Ein anderer Benutzer kann aber gänzlich andere Rechte besitzen und der Zugriff wird ihm problemlos gestattet. Auch wird hiervon nur der reine Inhalt einer Datei gesperrt, aber nicht ihre anderen Eigenschaften wie Name, Datum oder Pfad - dh die Datei kann durchaus verschoben oder umbenannt werden.
Wird aber das "geschützt" Flag gesetzt (es wird im Terminal als "user-immutable", "unchangeable" oder abgekürzt nur "uchg" bezeichnet), dann wird die Datei regelrecht "unverwundbar". Die Sperre gilt für alle Benutzer und für alle Änderungen: Der gemeldete Fehler wäre ein sehr viel weitreichenderes "operation not permitted" (also "Aktion nicht möglich"). Selbst der ansonsten allmächtige root-Benutzer wird dadurch gebremst - er kann aber dieses Flag für alle Objekte vorher aufheben und die Aktion dann doch durchführen.

Ein chflags uchg "Objekt" setzt dieses Flag, ein umgekehrtes chflags nouchg "Objekt" hebt es wieder auf, durch dieses Schlüsselwort wird also die genaue Art des Flags und die "Richtung" der Änderung definiert.

Danach folgt dann noch das (oder die) Argument(e), die den Zielpfad und damit das zu bearbeitende Objekt benennen.
Tip:
Dieser Pfad lässt sich ganz simpel an der aktuellen Cursorposition einfügen, indem man ein Objekt per Drag&Drop aus dem Finder in das offene Terminalfenster zieht. (Das empfiehlt sich v.a. für Neulinge im textorientierten Terminal-Universum sehr, denn die strengen Syntaxregeln sind nicht so ganz banal.)

Für eine Datei "Mein Beispiel.txt" auf deinem Schreibtisch könnte also der volle Befehl wie folgt lauten:
Code:
sudo chflags nouchg /Users/mosh/Desktop/Mein\ Beispiel.txt

[COLOR="#2f4f4f"][I]# oder aber
# (das wäre das gleiche, nur minimal anders formuliert)[/I][/COLOR]

sudo chflags nouchg "/Users/mosh/Desktop/Mein Beispiel.txt"

Wie könnte ein anderer Eigentümer des Objekts fälschlicherweise entstanden sein?
Ein unbedacht und/oder unsachgemäss ausgeführter Terminalbefehl könnte das bewirken, auch ein mit Admin-Privilegien abgesegnetes Programm/Skript kann das bei fehlerhafter Arbeitsweise oder falscher Anwendung tun.
Es wäre u.U. auch möglich, dass du ein neues Benutzerkonto angelegt hast, das lediglich den gleichen Namen trägt (aber dennoch nicht wirklich identisch ist).
Auch durch einen Zugriff von einem anderen/externen Startvolume aus (mit anderen eingerichteten Benutzern) kann das u.U. passieren.
 

mosh

Braeburn
Registriert
08.02.11
Beiträge
44
Rasta, diese ganze Sache kapiere ich leider nicht ganz. Könntest du mir - das wäre echt nett - einen sicheren Weg Schritt für Schritt beschreiben, wie ich diesen Ordnerschutz wieder aufhebe, ohne irgendwas schlechtes anzurichten. Wäre super!
Will mir nichts kaputt ballern hier!

Ein unbedacht und/oder unsachgemäss ausgeführter Terminalbefehl könnte das bewirken, auch ein mit Admin-Privilegien abgesegnetes Programm/Skript kann das bei fehlerhafter Arbeitsweise oder falscher Anwendung tun.
Es wäre u.U. auch möglich, dass du ein neues Benutzerkonto angelegt hast, das lediglich den gleichen Namen trägt (aber dennoch nicht wirklich identisch ist).
Auch durch einen Zugriff von einem anderen/externen Startvolume aus (mit anderen eingerichteten Benutzern) kann das u.U. passieren.

Also:
- Ich hab noch NIE auf diesem Rechner mit Terminalbefehlen gehandelt, da ich keine kenne!
- Ich wüsste kein Programm, womit das passiert sein könnte! Bei dem Ordner handelt es sich auch lediglich um einen normalen Ordner wo ausschließlich txt-Dateien drin sind die ausschließlich mit dem Editor erstellt und bearbeitet wurden. Keine anderen Programme wurden verwendet.
- Ein Benutzerkonto hatte ich mal neu erstellt. Aber sicher nicht mit dem gleichen Namen. Beim Hochfahren habe ich lediglich mein Admin-Konto (Passwortgeschützt) und ein Gastkonto. Mehr nicht. Alle Dateien des Ordners wurden mit meinem Adminkonto erstellt und das Gastkonto hat gar keinen Zugriff auf den Ordner.
- Benutze keine externen Festplatten oder sowas. Höchstens mal nen Memorystick oder meinen iPod. (Da gab es letztlich auch Probleme beim Aktualisieren, sollte aber nicht der Grund sein, oder?)

Sorry, wie ihr merkt, habe ich nicht wirklich Ahnung von der Materie. Bitte um Hilfe!
 

walksunix

Spartan
Registriert
06.08.08
Beiträge
1.608
Die App Terminal befindet sich unter "Dienstprogramme".
Einfach, wie oben bereits beschrieben, den Befehl: "sudo chflags nouchg Ordner/Datei" reinkopieren und schon ist der Schutz aufgehoben.
In welchem Verzeichnis, von deinem User Account aus gesehen, befindet sich der Ordner?
 

mosh

Braeburn
Registriert
08.02.11
Beiträge
44
Es sollte eigentlich genügen, den Befehl bis nouchg hinein zu kopieren, dann ein Leerzeichen zu setzen und danach den Ordner ins Terminalfenster zu ziehen und Return zu drücken.

LG, Mike

"Sollte"... Hm... aber kaputt mach ich mir damit nichts!? :/

Also:

sudo chflags nouchg ORDNERREINGEZOGEN

So?
 

Samurai

Klarapfel
Registriert
20.04.05
Beiträge
277
Ja so würde ich es auch machen mosh und vertrauen solltest du auch ein wenig.
 

mosh

Braeburn
Registriert
08.02.11
Beiträge
44
Ja so würde ich es auch machen mosh und vertrauen solltest du auch ein wenig.

Habe es nun eingegeben:

Last login: Thu Aug 19 11:04:42 on console
localhost:~ meinname$ sudo chflags nouchg /Volumes/Partition2/Ordner

Dann kam:

WARNING: Improper use of the sudo command could lead to data loss
or the deletion of important system files. Please double-check your
typing when using sudo. Type "man sudo" for more information.

To proceed, enter your password, or type Ctrl-C to abort.

Password:
:oops:
 

Rastafari

deaktivierter Benutzer
Registriert
10.03.05
Beiträge
18.150
Tja, dein Kennwort wirst du schon rausrücken müssen.
(Eingabe wird nicht als Bildschirmecho angezeigt)
 

mosh

Braeburn
Registriert
08.02.11
Beiträge
44
Tja, dein Kennwort wirst du schon rausrücken müssen.
(Eingabe wird nicht als Bildschirmecho angezeigt)

Wollte nur wissen, ob ich fortfahren soll. Das ließt sich so warnend!

Entschuldigt meine Unsicherheit, aber ich bin da absoluter Anfänger.
 

mosh

Braeburn
Registriert
08.02.11
Beiträge
44
Hat geklappt! DANKE euch!

Noch eine Verständnisfrage: In den Informationen kann man ja sowohl für "System" als auch "Administrator" die Freigaben ändern. Was bedeutet da konkret der Unterschied, für wen geb ich das dann frei? Warum gibt es da nen Unterschied?
 

Rastafari

deaktivierter Benutzer
Registriert
10.03.05
Beiträge
18.150
"Administrator" == der Benutzer, den du selbst genau so genannt hast (Nur bei OS X Server ist dieser Name bereits reserviert)

"Administrators"/"Administratoren" == Vordefinierte Gruppe derjenigen Benutzer, die "den Rechner verwalten dürfen".

"System" == "root-Benutzer"
s.o., #4
 

mosh

Braeburn
Registriert
08.02.11
Beiträge
44
"Administrator" == der Benutzer, den du selbst genau so genannt hast (Nur bei OS X Server ist dieser Name bereits reserviert)

"Administrators"/"Administratoren" == Vordefinierte Gruppe derjenigen Benutzer, die "den Rechner verwalten dürfen".

"System" == "root-Benutzer"
s.o., #4

Ja, aber ich versteh den Unterschied net. Hat der Administrator nicht eh alle Rechte, also die selben, wie der Benutzer "System"?

Und andersrum gefragt. Wenn ich nun einen Ordner zum Lesen & Schreiben für den Administrator freigebe, aber nicht für das System, was bedeutet das dann? Oder umgekehrt, was dann?
 

MikeatOSX

Pomme Etrangle
Registriert
23.01.09
Beiträge
898
Wiki:
"sudo (kurz für substitute user do) ist ein Befehl unter Unix und unixartigen Betriebssystemen wie Linux oder Mac OS X, der dazu benutzt wird, Prozesse mit den Rechten eines anderen Benutzers (z. B. des Superusers root) zu starten."
 

Rastafari

deaktivierter Benutzer
Registriert
10.03.05
Beiträge
18.150
Hat der Administrator nicht eh alle Rechte, also die selben, wie der Benutzer "System"?
Nein.
Ein "Administrator" hat lediglich gegenüber den normalen, eingeschränkten "Benutzern" das Privileg, sich diese Rechte bei Bedarf verschaffen zu können - nach mindestens einer zusätzlichen Authentifizierung der realen und richtigen Person, dh es erfolgt vorher eine Kennwortabfrage. Erst wenn dieser zusätzliche Test bestanden wurde, darf der Admin auch gezielte Aktionen im Namen von root durchführen.
Nicht-Administratoren erhalten dieses erhöhte Privileg dagegen unter keinen Umständen.

Ausserdem gibt es noch zwei sehr wesentliche Ordner im System, auf die "Admins" auch ohne eine weitere Prüfung ihrer Person schreibend zugreifen dürfen, die "Normalos" aber nicht. Das sind der Programme-Ordner und die globale Library. Änderungen dort betreffen immer alle Benutzer des Systems, daher darf dort nicht jeder rummurksen können.

Du kannst dir "root" also vorstellen wie den Eigentümer und Generaldirektor eines Unternehmens.
Der "Administrator" ist dagegen nur Prokurist, also ein verantwortungsvoller leitender Angestellter mit Zeichnungsbefugnis.
Der "Normalbenutzer" ist die nicht unbedingt vertrauenswürdige Aushilfskraft, die nur Zutritt zu den nötigsten Räumen im Gebäude erhält.
Und ein "Gast" schliesslich ist der unbekannte Kunde, der den ganzen Laden nur kurz zum shoppen besuchen darf.

Wenn ich nun einen Ordner zum Lesen & Schreiben für den Administrator freigebe, aber nicht für das System, was bedeutet das dann?
"System" aka "root" hat sowieso immer uneingeschränkten Zugriff auf alles. Seine Berechtigungen werden gar nicht erst geprüft, root ist der gute Geist im System und geht durch massive Wände. Seine Rechte zu beschneiden zeigt keinen Effekt für ihn (das hat bestenfalls informativen Charakter).
Oder umgekehrt, was dann?
Dann hat selbst ein Administrator erst dann Zugriff, wenn er sich (s.o.) die nötige Macht von root geborgt hat.
 

mosh

Braeburn
Registriert
08.02.11
Beiträge
44
Danke für die Erläuterungen. Langsam blick ich es. :)

"System" aka "root" hat sowieso immer uneingeschränkten Zugriff auf alles. Seine Berechtigungen werden gar nicht erst geprüft, root ist der gute Geist im System und geht durch massive Wände. Seine Rechte zu beschneiden zeigt keinen Effekt für ihn (das hat bestenfalls informativen Charakter).

Dann hat selbst ein Administrator erst dann Zugriff, wenn er sich (s.o.) die nötige Macht von root geborgt hat.

...verstehe aber nicht, warum ich dann überhaupt in den Informationen diese Zugriffsrechte modifizieren kann. Das hat doch dann eh keinen Effekt! Warum kann man es dann klickend verändern?
 

Rastafari

deaktivierter Benutzer
Registriert
10.03.05
Beiträge
18.150
verstehe aber nicht, warum ich dann überhaupt in den Informationen diese Zugriffsrechte modifizieren kann. Das hat doch dann eh keinen Effekt!
Nicht für root. Für den ganzen Rest der Welt aber schon.

Warum kann man es dann klickend verändern?
Warum man die Rechte für root überhaupt abändern kann meinst du?
Weil es sich nicht lohnt, für diese einzige Ausnahme unter den Benutzern die Oberfläche auf besondere Weise umzugestalten.
Ausserdem können root, bzw. die essentiellsten Systemprogramme die notwendigerweise unter dessen Kontext laufen, diese Zugriffrechte durchaus für sinnvolle und informative Zwecke nutzen - auf freiwilliger Basis. Ein gut programmiertes Systemprogramm kann sich durchaus an diesen Einstellungen orientieren und sich selbst disziplinieren, zB zusätzliche Warnungen einblenden oder in bestimmten Situationen auf seine Macht ganz verzichten.
 

mosh

Braeburn
Registriert
08.02.11
Beiträge
44
Warum man die Rechte für root überhaupt abändern kann meinst du?
Weil es sich nicht lohnt, für diese einzige Ausnahme unter den Benutzern die Oberfläche auf besondere Weise umzugestalten.
Ausserdem können root, bzw. die essentiellsten Systemprogramme die notwendigerweise unter dessen Kontext laufen, diese Zugriffrechte durchaus für sinnvolle und informative Zwecke nutzen - auf freiwilliger Basis. Ein gut programmiertes Systemprogramm kann sich durchaus an diesen Einstellungen orientieren und sich selbst disziplinieren, zB zusätzliche Warnungen einblenden oder in bestimmten Situationen auf seine Macht ganz verzichten.

Aha... hört sich irgendwie schräg nach künstlicher Intelligenz an!

Ist mein Mac eine Zwischenform? Halb Organismus, halb Maschine? Ein Macanismus? oO