Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

Hallo Leute,

ich würde gerne Wissen wie ich einem Verzeichnis Berechtigungen zuweisen kann??

Damit meine Ich:

Arbeiter A darf Lesen

Arbeiter C darf schreiben und Lesen

Vorstand darf alles

Wie lässt sich das ganze auf einem Win2000 Rechner bewerkstelligen?????

danke deluxeone

Original geschrieben von deluxeone

Wie lässt sich das ganze auf einem Win2000 Rechner bewerkstelligen?????

Was auch immer die Antwort sein wird, sie ist hochgradig Windows-spezifisch. Drum schieb ich Dich mal dahin, wo die Frage passt :).

Thema verschoben nach: C++: Compiler, IDEs, APIs

Hey was hat mein Thema mit Windows Betriebssyteme zu tun wenn ich ein Script brauche wie ich in C++ eine Verzeichnis erstellen und dabei das Verzeichnis mittels eines Scripts in C++ freigebe für User........auf einem Win2000 Rechner.......

Mein Frage bezieht sich schon auf das Thema C++. Nämlich wie ich

1. ein Verzeichnis erstelle

2. das Verzeichnis freigebe

Und komm mir nicht mit der Rechten Maustasten Philo.......Freigeben und dann Berechtigungen......für 1000 User Verzeichnis erstellen + Freigeben...Ha Ha Ha.......

Nein Danke!!!

Also schieb mich mal schön wieder zurück Klotzkopp

danke deluxeone

Zwei Punkte:

Erstens sind Anmerkungen zu Moderationsentscheidungen in den jeweiligen Fachforen OffTopic, so was klärt man besser per PM.

Zweitens solltest Du vielleicht nochmal genau nachsehen, wohin ich Deinen Beitrag verschoben habe, und die Kritik (und vielleicht auch die Form, in der sie angebracht wurde) überdenken. Alternativ kannst Du mir sagen, wie das, was Du vorhast, mit Standard-C/C++ funktionieren soll, dann schiebe ich Dich gern zurück.

Ok die Alternative:

#include <direct.h>

//Borland: statt direct.h dir.h

void main()

{

_mkdir("C:/Test");//Verzeichnis erstellen

_rmdir("C:/Test");//Verzeichnis löschen

}

So erstelle ich ein Verzeichnis.....Ok das habe ich ja schon selber herausgefunden......und jetzt wie vergebe ich Berechtigungen auf das Verzeichnis ????????

gruß deluxeone

Wenn Du die Verzeichnisse mit CreateDirectory anlegst, kannst Du die Zugriffsrechte über die SECURITY_ATTRIBUTES-Struktur definieren. Dazu musst Du Dich mit ACLs und SIDs und dem ganzen Sicherheitskram rumschlagen.

Die wahrscheinlich einfachere Alternative:

cacls ausführen - über system oder ShellExecute.

Jedoch wie binde ich das ganze ein...du musst verstehen das ich das selber noch nicht gemacht habe und nun das Problem habe den Aufbau zu Struktuieren...

Kannst du mir ein Beispiel erstellen.....???!?!

Wäre dankbar..........

gruß deluxeone

Hier ein einfaches Beispiel, ohne Fehlerbehandlung:

SECURITY_ATTRIBUTES sa;
SECURITY_DESCRIPTOR sd;
BYTE sidBuffer[100];
BYTE aclBuffer[500];
PSID psid=(PSID) &sidBuffer;
PACL pacl=(PACL) &aclBuffer;
DWORD sidBufferSize = 100;
char domainBuffer[80];
DWORD domainBufferSize = 80;
SID_NAME_USE snu;

InitializeSecurityDescriptor(&sd, SECURITY_DESCRIPTOR_REVISION);
InitializeAcl(pacl, 500, ACL_REVISION);
LookupAccountName(0, "Benutzername", psid, &sidBufferSize, domainBuffer, &domainBufferSize, &snu);
AddAccessAllowedAce(pacl, ACL_REVISION, GENERIC_READ | GENERIC_WRITE, psid);

SetSecurityDescriptorDacl(&sd, TRUE, pacl, FALSE);

sa.nLength= sizeof(SECURITY_ATTRIBUTES);
sa.bInheritHandle = FALSE;
sa.lpSecurityDescriptor = &sd;

CreateDirectory("C:\\Verzeichnis", &sa);[/CODE]

Dieses Beispiel legt ein Verzeichnis "C:\Verzeichnis" an, und erteilt dem Benutzer "Benutzername" des lokalen Rechners Lese- und Schreibrechte.

Wenn Du mehr als einem Benutzer Rechte einräumen willst, musst Du entsprechend LookupAccountName mehrfach aufrufen, um an die SIDs zu gelangen, daraus ACEs zu machen, und der ACL hinzuzufügen. Falls Du explizit Rechte entziehen willst, musst Du darauf achten, zuerst die AddAccessDeniedAce-Aufrufe zu machen, und danach erst die Aufrufe von AddAccessAllowedAce. Welche Rechte es explizit sind, steht im dritten Parameter von AddAccessAllowed/DeniedAce.

Wenn das Verzeichnis schon existiert, musst Du CreateFile verwenden, um die Berechtigungen zu ändern.

  • 2 Wochen später...

Danke,

jedoch bekomme ich Fehlermeldungen von denen ich vollkommen überfordet bin.

Hat es jemand ein wenig kompakter oder kann mir jemand helfen bei der Korrektur?!?!

Bin Dankbar für jede Hilfe......

gruss deluxeone

Wird schwierig, wenn Du uns die Fehlermeldungen nicht nennst ;). Was die Kompaktheit angeht, bei dem Code fehlen sogar die Fehlerprüfungen. Alle Funktionsaufrufe in dem Beispiel können fehlschlagen, was natürlich behandelt werden muss.

Die Alternative, und IMHO erheblich einfacher, dürfte immer noch sein, aus dem Programm heraus das Tool cacls aufzurufen.

Ja klar fehlt alles,

du hast ja den ganzen Header usw. vergessen.... da brauche ich gar nicht zu Compilieren, weil er die ganzen Funktionen nicht kennt.....kannst du mir nicht den kompletten Quellcode geben?????

gruß deluxeone

OK soweit so gut es klappt......

Warum sehe ich aber nicht was der Benutzer für Berechtigungen hat???? Damit meine Ich lege einen Ordner an mit dem Verzeichnis BEnutzernamen jedoch kann ich nicht sehen wie die Berechtigungen sind?????

Warum geht das nicht?????

Noch was wie binde ich das ganz ein bei 1000 User wobei Userid = Verzeichnis sein soll und gleichzeitig die Berechtigungen vergeben werden sollen....

Noch was wo kann ich das Nachlesen was alles was ist und was es heisst....

Dank schon mal für deine Hilfe.....

Gruß deluxeone

Original geschrieben von deluxeone

Warum sehe ich aber nicht was der Benutzer für Berechtigungen hat???? Damit meine Ich lege einen Ordner an mit dem Verzeichnis BEnutzernamen jedoch kann ich nicht sehen wie die Berechtigungen sind?????

Was meinst Du mit "kann ich nicht sehen"?

Noch was wie binde ich das ganz ein bei 1000 User wobei Userid = Verzeichnis sein soll und gleichzeitig die Berechtigungen vergeben werden sollen....
Hast Du eine Liste der Benutzer, oder musst Du die erst noch holen?

Noch was wo kann ich das Nachlesen was alles was ist und was es heisst....
MSDN Library, unter Security->Authorization. Da hab ich auch alles her, was ich Dir bisher erzählt habe ;).
  • 6 Jahre später...

Hallo,

ich muss mich mal hier ranhängen.

Ich erstelle auf einem Remotcomputer mit einem Service-Account Ordner. Nun ist dieser Service-Account der Besitzer und der Nutzer des Remote-Computers kann die Verzeichnisse nicht löschen. Soll er aber dürfen.

Was muss ich angeben, um den Besitzer gleich auf den Nutzer festzulegen?

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.