Zum Inhalt springen

Zugriffsrechte aus der Datenbank heraus erteilen


emetiel

Empfohlene Beiträge

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

:)

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
Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...