So erhalten Sie Cygwin-Berechtigungen in Windows 7

So erhalten Sie Cygwin-Berechtigungen in Windows 7

Ich habe Cygwin installiert, dann später mein Windows 7-Konto gelöscht und das Konto unter demselben Namen neu erstellt. Jetzt habe ich Probleme, Dateien in meinem Cygwin-Ordner zu bearbeiten oder neue Ordner/Dateien zu erstellen. Gibt es einen Befehl, mit dem ich meine Berechtigungen zurückerhalten kann?

Antwort1

Ich musstezum Mitnehmenin cygwin, um zuerst den Besitz aller Dateien zu übernehmen. Ich habe cygwin im Administratormodus ausgeführt (Rechtsklick). Die Übernahme des Besitzes des cygwin-Verzeichnisses ist schwierig, weilAbonnierenwird auf alle Ihre Festplatten verweisen, daher würde ich vorschlagen, dies nicht rekursiv im Cygwin-Ordner zu tun. Die Syntax lautet:

takeown /FOrdner/R

wobei /R rekursiv ist. Machen Sie das also für alle Dateien und Ordner in Cygwin (oder versuchen Sie es mit dem Cygwin-Ordner, aber das empfehle ich nicht).

Danach musste ich meine Berechtigungen über den Windows Explorer einrichten. Klicken Sie mit der rechten Maustaste auf den Ordner „cygwin“, gehen Sie zur Registerkarte „Sicherheit“ und stellen Sie sicher, dass Ihr Benutzername im oberen Fenster angezeigt wird. Ich habe auch den „unbekannten“ Benutzer entfernt, von dem ich annehme, dass es sich um mein vorheriges Konto handelte. Wenn Sie nicht dort sind: Klicken Sie auf Bearbeiten->Hinzufügen-> Geben Sie Ihren Namen ein und klicken Sie auf „Namen überprüfen“. Es sollte gefunden werden, wer Sie zu sein glauben, und dann klicken Sie auf „OK“. Aktivieren Sie das Kontrollkästchen „Vollzugriff“ zulassen und es sollten alle Kontrollkästchen aktiviert sein. Klicken Sie auf „OK“.

Dann sollten Sie sich noch im Sicherheits-Tab befinden, klicken Sie auf "Erweitert"->"Berechtigungen ändern"->Markieren Sie Ihren Benutzernamen->"Bearbeiten"->Stellen Sie sicher, dass alle Kästchen unter "Zulassen" aktiviert sind und dieGeltenist „Dieser Ordner, Unterordner und Dateien“ (das Kontrollkästchen sollte nicht aktiviert sein). Drücken Sie einmal „OK“, stellen Sie sicher, dass „Alle untergeordneten Objektberechtigungen ersetzen …“ aktiviert ist, klicken Sie auf „OK“, „OK“, „OK“.

Und schon kann es losgehen.

Antwort2

Menschliche Namen spielen keine Rolle. Computer arbeiten mit Zahlen.

In diesem speziellen Fall sind die ZahlenSicherheitskennungen, SIDs.

Als Sie das neue Konto erstellt haben, wurde ihm eine neue SID zugewiesen. Die alte SID des alten Kontos wurde nicht wiederverwendet. (Das wäre ein Sicherheitsproblem.) Alle Ihre Dateien und Verzeichnisse sind mit der alten SID als Ersteller-Eigentümer gekennzeichnet. Sie erteilen in ihren ACLs höchstwahrscheinlich auch entweder ihren Ersteller-Eigentümern oder direkt der alten SID Zugriffsrechte. Somit ist diealtDie Zugriffsrechte liegen weiterhin beim SID.

Wenn Ihr altes Konto beispielsweise die SID hatte S-1-5-21-90593156-579754539-1338337383-1002, hätte Ihr neues Konto eine andere SID, z. B. S-1-5-21-90593156-579754539-1338337383-1003. Die Dateien und Verzeichnisse gewähren der SID Lese-/Schreib-/Such-/was auch immer-Zugriff -1002, während die -1003SID keinen Zugriff hat.

Eine Antwort darauf ist die Übernahme des Eigentums mit einem Tool wie takeownfür den Fall, dass die ACLs dem Ersteller-Eigentümer Zugriff gewähren und nicht demdirektzur alten SID. Ändern Sie einfach, wer der Ersteller-Eigentümer ist, und die ACLs, die dem Ersteller-Eigentümer Rechte erteilen, erteilen automatisch Rechte an die richtige SID. Das Problem ist, dass in Windows NT die Berechtigung zum Besitzenmuss vom ursprünglichen Eigentümer erteilt werdenan den beabsichtigten neuen Besitzer. Der Besitz kann (ohne besondere Privilegien) weder weitergegeben noch ohne Erlaubnis übernommen werden. Sie haben das Konto mit der alten SID gelöscht, es gibt also keinen ursprünglichen Besitzer mehrgewährendieses Recht. Sie müssen also ein Verfahren mit drei Schritten verwenden. Zuerst muss ein Konto mit der Berechtigung, alles zu besitzen (z. B. ein Administratorkonto) den Besitz übernehmen. Dann muss dieses Konto Ihrem neuen Konto die Rechte zum Besitzübernehmen erteilen. Schließlich muss Ihr neues Konto den Besitz vom Administratorkonto übernehmen.

Wenn die ACLs den Zugriff direkt auf die alte SID gewähren und nicht indirekt über den Ersteller-Besitzer, dann ist die Übernahme des Eigentumsnichtdie Antwort darauf, obwohl man das später vielleicht aus anderen Gründen tun möchte. Das Ersetzen der alten SID durch die neue SID in den ACEs ist möglich. Sie tun das mit dem subinaclTool aus dem Resource Kit und dessen /replaceParameter.

Weiterführende Literatur

Antwort3

Ich konnte also takeown verwenden, da ich Administrator unter cygwin war. Ich stimme zu, dass NUR das Verzeichnis cygwin/ und nicht cygdrive rekursiv geändert werden sollte. Das Einzige, was ich hinzufügen kann, ist, dass ich, nachdem ich den Besitz übernommen hatte, als Administrator Unix-Befehle ausführen konnte, um die Berechtigungen zu ändern.

chmod 744 *

Ändert die Berechtigungen so, dass der Besitzer schreibgeschützten Zugriff hat und alle anderen nur Lesezugriff. Also kein Herumspielen auf der Windows-Seite.

verwandte Informationen