Ich hätte gern einige Vorschläge, wie die Berechtigungen in Windows 2012 für folgenden Anwendungsfall konfiguriert werden können:
- Jeder Benutzer (nennen wir ihn
bob
) führt eine Anwendung (nennen wir siemyapp
) aus. myapp
erfordert Lese-/Schreibberechtigung für alle Dateien und Ordner unterc:\Users\bob\myapp
(1)bob
erfordert Lese-/Schreibberechtigungen unterc:\Users\bob\myapp\templates
.bob
Der Ordner kann nicht gelesen werdenc:\Users\bob\myapp\logs
- Standardmäßig und sofern in 3 und 4 nicht anders angegeben,
bob
kann jede Datei und jeder Ordner unterc:\Users\bob\myapp\
Ich habe einen Linux-Hintergrund und bin nicht sicher, wie ich das auf einem Windows-Server organisieren soll.
Ich wäre dankbar, wenn mir jemand den richtigen Weg weisen könnte!
(1) Den Pfad habe ich mir ausgedacht. Er wird irgendwo in Windows zu finden sein. (Ich glaube nicht, dass das wichtig ist, aber wenn doch, teilen Sie uns bitte Ihr Wissen mit!)
EDIT: Lösung unter Linux
- Die App läuft unter Benutzer
bobapp
, Gruppebobapp
. - Der Benutzer wird unter dem Benutzer ausgeführt
bob
, der Teil der Gruppe istbobapp
- Alle Dateien und Ordner unter
/users/bob/myapp
sind Eigentum des Benutzersbobapp
, der Gruppebobapp
- Unter
/users/bob/
haben Ordner Berechtigungen750
(Lesen/Schreiben/Ausführen für Eigentümer, Lesen/Ausführen für Gruppe, keine für alle) und normale Dateien640
(Lesen/Schreiben für Eigentümer, Lesen für Gruppe, keine für alle), ausführbare Dateien750
(Lesen/Schreiben/Ausführen für Eigentümer, Lesen/Ausführen für Gruppe, keine für alle) /users/bob/myapp/logs
hat die Berechtigung 700 (Lesen/Schreiben/Ausführen für den Eigentümer, keine für die Gruppe und keine für alle anderen)
Hinweis 1: Ein weiteres Problem wäre es, wenn die grafische Anwendung, die bobapp
während der Sitzung ausgeführt wird, angezeigt würde . Es gibt jedoch viele Optionen, die es der Sitzung ermöglichen , die grafische Anwendung anzuzeigen und mit ihr zu interagieren .bob
bob
bobapp
Hinweis 2:
sudo
würde verwendet werden, wenn bob
gestartet werden soll myapp
, da vorübergehend Berechtigungen zum Ausführen der App eingeholt werden müssen. sudo
wäre sehr eingeschränkt und würde nur bob
den Start des Programms als bobapp
Benutzer erlauben.
Hinweis 3: Wenn die Anwendung oder der Benutzer neue Dateien und Ordner erstellt, müssen Sie auf die Standardberechtigungen achten, die beim Erstellen der neuen Dateien und Ordner übernommen werden (mehrere Optionen, wahrscheinlich würde ich etwas wieDas)
Antwort1
Wie würden Sie das in Linux-Systemen lösen?
Da die Anwendung im Kontext des Benutzers läuft, sind die Lese- und Schreibberechtigungen gleich.
Sie können die Verzeichnisberechtigungen mit Cacls
oder über die Installationsroutine festlegen.
Sie würden das Hauptverzeichnis wahrscheinlich c:\Users\bob\myapp
lesbar und beschreibbar machen.
Diese Berechtigungen werden auf alle Unterverzeichnisse außer übertragen c:\Users\bob\myapp\logs
.
Sie haben es sudo
in der Prämie erwähnt, also vermute ich, dass Sie das gleiche Problem haben. Sie können keine Einschränkungen anwenden, wenn die Anwendung im gleichen Kontext läuft. Sie müssten die Anwendung also entweder in einem anderen Benutzerkontext ausführen oder eine andere Lösung für das logs
Verzeichnis finden. Sie könnten die Berechtigungen aufheben, lesen/schreiben und dann erneut festlegen. Da der Benutzer der Eigentümer des Verzeichnisses ist, wenn er es erstellt hat, können Sie die Berechtigungen jederzeit ändern.
Zu Ihrer Frage zum Windows-Pfad: Es gibt geschützte Pfade, C:\Program Files\
die C:\Windows\
Administratorrechte erfordern (und TrustedInstaller gehören). Es ist also wichtig, wo Sie Ihre Verzeichnisse erstellen.
Bearbeiten:
Aus dem Update des OP, auf das verwiesen wird sudo
. Dieses Tool wird benötigt, um ein Programm als anderer Benutzer auszuführen, normalerweise so konfiguriert, dass zum Ändern des Kontexts kein Kennwort erforderlich ist. Soweit ich weiß, gibt es in Vanilla Windows kein Äquivalent.
Sie können die Diskussion sehenHierdarüber, wie man erhöhte Eingabeaufforderungen usw. erreicht, aber meistens sind dafür Administratorrechte erforderlich und/oder Sie müssen ein Passwort wie eingeben runas
.
Außerdem "Nach der Authentifizierung die Identität eines Clients annehmen" könnte helfen, aber ich habe es noch nie verwendet und kann nichts darüber sagen.