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,

ich habe hier eine Prozedur, welche über eine Schnittstellen DB Daten bekommt, und daraus dann neue Verzeichnisse anlegt. Auch kommen über diese Schnittstelle die Rechte, welche die angegebenen user dann den neuen Ordnern im Filesystem erhalten sollen.

Nun zur Frage.

Kann man aus der Datenbank heraus ( SQLServer 2005 oder 2008 ) die Rechte mittels iCacls oder so vergeben? Und wenn ja wie?

gruß

Emetiel

Oh wie ich solche Threads liebe ....

Meinst du nicht, dass es ein netter Zug wäre, für leute, die eventuell ein ähnlich gelagertes Problem haben, die Lösung zumindest grob zu umreißen?

Ich wünsch dir dass du selber schön oft nach irgendwas googelst, und außer "problem solved, thread can be closed" posts nichts findest.

  • Autor

:)

ich weiß nicht in wie vielen Foren ich bereits nach etwas gesucht habe bzw. noch etwas suchen werde. Und ich hoffe auch hier und da Antworten zu finden. Dummerweise hat sich in einigen Foren die Antwort RTFM oder eine Antwort in der Art "ja das geht aber nimm doch lieber dies oder jenes da gehts einfacher" Auch ohne jeden Lösungsansatz. Und das obwohl man vorher explizit erklärt hat warum und weshalb man welches Software bzw. Programmiersprache einsetzt.

da kommt doch dann ein "es hat sich erledigt aber ich sage euch nicht wie" auch genau richtig :D

Die Hilfe die ich in einem anderen Forum bekam:

Dosbox icacls lesen soll helfen Dann soll es auch nicht schaden xp_cmdshell zu kennen

Grob umrissen:

Dosbox öffnen icacls eingeben Anleitung lesen

Danach im SQL Server die Hilfe zu xp_cmdshell lesen

zusammenreimen was man braucht

fertig

Aber ich will weder einen heiligen Krieg noch eine Politische Grundsatzdebatte von daher

hier etwas genauer:

-- benötigte Variablen

declare @lvCmd nvarchar( 100 ),

@lvDomainUser nvarchar( 100 ),

@lvVerzeichnis nvarchar( 255 );

-- Verzeichnis vorgeben

set @lvVerzeichnis = 'c:\AngedachtesVerzeichnis';

-- oder wers lieber mag so

select @lvVerzeichnis = 'c:\AngedachtesVerzeichnis';

--Um die Standard Rechte an einem Verzeichnis zu vergeben

set @lvCmd = 'icacls \\' + @@Servername + @lvVerzeichnis + ' /reset';

exec xp_cmdshell @lvCmd, no_output;

--Um Admin und "Authenticated Users" mit Objekt ( OI ) + Containervererbung ( CI )zu versehen

--und dem Admin Vollzugrif "F" und den "Authenticated Users" Schreibgeschützten "R" Zugriff zu gewähren

--wobei inheritance:r dafür sorgt, dass alle vererbten ACEs entfernt werden

set @lvCmd = 'icacls \\' + @@Servername + @lvVerzeichnis + ' /inheritance:r /grant Administrators:(OI)(CI)F "Authenticated Users":(OI)(CI)R';

exec xp_cmdshell @lvCmd, no_output;

-- Und zu guter letzt Rechte für eine bestimmten user vergeben

set @lvDomainUser = 'ManniMustermann';

-- oder wieder die andere Methode

-- M steht in diesem Fall für Änderungszugriff

set @lvCmd = 'icacls \\' + @@Servername + @lvVerzeichnis + ' /inheritance:r /grant ' + @lvDomainUser + ':(OI)(CI)M';

exec xp_cmdshell @lvCmd, no_output;

Und wozu Tipp ich das alles? Weil ich Dir recht geben muss, da ich solche Hilfen auch nicht wirklich hilfreich finde. Aber an dem Tag war ich mehr als nur bedient. Ich sollte Antworten einfach erst dann verfassen wenn ich mindestens drei Tage ruhe dazwischen hatte

emetiel

Bearbeitet von emetiel

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.