emetiel Geschrieben 9. Mai 2011 Teilen Geschrieben 9. Mai 2011 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
emetiel Geschrieben 16. Mai 2011 Autor Teilen Geschrieben 16. Mai 2011 Hat sich erledigt und ja es geht Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
streffin Geschrieben 23. Mai 2011 Teilen Geschrieben 23. Mai 2011 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. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
emetiel Geschrieben 24. Mai 2011 Autor Teilen Geschrieben 24. Mai 2011 (bearbeitet) 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 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 24. Mai 2011 von emetiel Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
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.