Ordner-Rechte Acitve Directory (Empirum v12)

Antworten
Benutzeravatar
aalbang
Beiträge: 21
Registriert: 18. Aug 2009, 16:19
Kontaktdaten:

Ordner-Rechte Acitve Directory (Empirum v12)

Beitrag von aalbang » 25. Jan 2010, 13:20

Hallo Zusammen,

wir haben ein kleines Problem mit den Ordner-Rechten bei Paketen, bzw im Allgemeinen mit ein paar Variablen.

Wir sind vor kurzem mit unserem Netzwerk in eine neue Domäne umgezogen, zwecks Umstellung auf ein "Active Directory System" und haben vor kurzem auch auf Empirum v12 geupdatet.

Allerdings hat die Umstellung auf ADS zur Folge das unsere Clients nur noch einfache Benutzerrechte haben und auf C (außer den persönlichen Ordnern) keine Schreibrechte mehr vorhanden sind.

Da einige Programme allerdings Schreibrechte zum ausführen brauchen, habe ich wie im Manual beschrieben versucht das ganze über [Security:Product] zu lösen.

Hier mal die verschiedenen Zeilen die ich probiert habe:

Code: Alles auswählen


FileDaclEx.Add ("C:ProgrammeTomCat", "%$Everyone%", GRANT, ALL, SUB_CONTAINERS_AND_OBJECTS_INHERIT) 
#FileDaclEx.Add ("%APP%", "%$Domainusers%", GRANT, TRAVERSE LIST_DIRECTORY READ_ATTRIBUTES READ_EA ADD_FILE ADD_SUBDIRECTORY WRITE_ATTRIBUTES WRITE_EA DELETE READ_DAC, SUB_CONTAINERS_AND_OBJECTS_INHERIT) 
#FileDaclEx.Add ("C:ProgrammeTomCat", "%$Everyone%", GRANT,ALL,SUB_CONTAINERS_AND_OBJECTS_INHERIT)
#FileDaclEx.Add ("%APP%", "%$LocalUsers%", GRANT, WRITE DELETE WRITE_DAC APPEND_DATA WRITE_EA WRITE_OWNER WRITE_ATTRIBUTES ADD_FILE ADD_SUBDIRECTORY DELETE_CHILD, SUB_CONTAINERS_AND_OBJECTS_INHERIT)


Allerdings wollte das alles nicht so richtig funktionieren.


Meiner Meinung nach hat das etwas mit den Varibalen für die Gruppen zu tun, da wir seit kurzem auch das Problem haben das unter "Software Mangement" die Sicherheitseinstellung für Software Gruppen nicht mehr funktionieren. Da wird die Varibale %$Local_Admins% nicht mehr erkannt, bzw berücksichtigt.
Allerdings weiß ich jetzt nicht ob das seit dem Update auf Empirum v12 oder seit der Umstellung auf ADS so ist.

Mir stellt sich momentan nur die Frage wo das Problem liegt.
Das mit der Sicherheitseinstellung im Software Managment ist uns eigentlich egal.

Nur das setzen für die Ordnerrechte bei bestimmten Paketen ist dringend notwendig.


Gruß
Andreas

Benutzeravatar
lennu
Beiträge: 581
Registriert: 01. Aug 2005, 16:20
Wohnort: Bonn
Kontaktdaten:

Beitrag von lennu » 25. Jan 2010, 17:44

Moin moin,

die Geschichte mit dem Software Depot ist ziemlich alt: Wenn Du nicht direktes Mitglied der angegeben Gruppe bist, zieht die Berechtigung nicht. Wenn Du also Domänen-Admin und dadurch indirekt Mitglied der lokalen Administratoren bist, ist das dem Software-Depot ziemlich egal. Hier müsste dann noch die Domänen-Admins Gruppe hinzugefügt werden.

Zu dem Berechtigungsproblem: Wir haben nie mit der Berechtigung ALL gearbeitet, daher kann ich dazu nichts sagen (gibt es die überhaupt?). Unsere Zeilen sehen so aus:

Code: Alles auswählen

[Product]
#Security:Product

[Security:Product]
FileDaclEx.Add("%APP%", "%$LocalUsers%", GRANT, READ | WRITE | DELETE | EXECUTE, SUB_CONTAINERS_AND_OBJECTS_INHERIT) 
Wichtig ist natürlich, dass der Befehl unter Security:Product steht und unterhalb von Product auch dorthin gesprungen wird (daher die zusätzlichen Zeilen im Beispiel oben).

Und noch nebenbei: Herzlichen Glückwunsch zum Schritt zum Active Directory und den damit verbundenen eingeschränkten Benutzerrechten für die Anwender! Ist zwar am Anfang etwas Arbeit (wie Du ja gerade mitbekommst), macht aber das Admin-Leben um ein vielfaches einfacher...

Grüße,
Lennu
Lennart Freyberg
Sysadmin
Deutsche Steinzeug Cremer & Breuer AG

Benutzeravatar
aalbang
Beiträge: 21
Registriert: 18. Aug 2009, 16:19
Kontaktdaten:

Beitrag von aalbang » 26. Jan 2010, 09:51

Es funktioniert immernoch nicht.

Und ich verstehs auch nicht. Wir haben die Domänen Gruppe "Domain-Users" in der alle unsere normalen Benutzer drin sind.
Und in der lokalen Standard Gruppe Benutzer ist dann die Domänen Gruppe "Domain-Users".

Im Software Managment unter Extras LDAP kann Empirum die ADS Benutzer/Gruppen etc auch ganz normal abfragen.
Auch der Remote Control Master und Host von Empirum funktionieren im ADS ohne Probleme und erkennt die Rechte.


Aber aus irgendeinem Grund funktioniert in einem Paket keine der Gruppen.
Ich habe schon folgendes versucht: %$LocalUsers%, %$Domain-Users%, %$Everyone%


Gruß
Andreas

Benutzeravatar
lennu
Beiträge: 581
Registriert: 01. Aug 2005, 16:20
Wohnort: Bonn
Kontaktdaten:

Beitrag von lennu » 26. Jan 2010, 09:56

Hallo Andreas,

wie gesagt, für das Software Depot zählt nur eine direkte Gruppenmitgliedschaft. Andere Konstellationen werden leider von Matrix42 nicht unterstützt.

Das hat aber nichts mit Deinem Paket zu tun, denn hier verarbeitet ja das Betriebssystem die Sicherheitseinstellungen (und das beherrscht Gruppen in Gruppen). Poste doch mal die komplette setup.inf Datei, dann schaue ich da mal drüber und probiere es hier mal aus.

Grüße,
Lennu
Lennart Freyberg
Sysadmin
Deutsche Steinzeug Cremer & Breuer AG

Benutzeravatar
aalbang
Beiträge: 21
Registriert: 18. Aug 2009, 16:19
Kontaktdaten:

Beitrag von aalbang » 26. Jan 2010, 10:57

Das ist jetzt mal meine Setup.inf:

Code: Alles auswählen

ohje
[SetupInfo]
Author                  = Andreas Albang
CreationDate            = 22.01.2010 16:06:59 
InventoryID             = 
Description             = 
Method                  = MSI
Tested on               = WindowsXP
Dependencies            = 
Command line options    =/S2
Last Change             = 22.01.2010 16:06:59
Build                   = 

[VarDefInfo]
; <Variable>, <Type>, <Allow>

[Setup]
Version=10.5
ShowCaption=1
BlockInput=0
Platform=x86

[Requirements]

[Application]
ProductName=TomCat
ProductNameShort=
Version=5.5.28
VersionDirSuffix=
Revision=0
ServiceRelease=0
DeveloperName=Development
DeveloperNameShort=
SetupName=%ProductName% %Version% %SetupWizard%
Text1="%ProductName% %Version%",         Arial,           30, , 00FFFF, 4, ,    LEFT BOLD ITALIC
Text2="%DeveloperName%",                 Arial,           24, , 00FFFF, 4, ,    LEFT BOLD ITALIC
Text8="%Company%",                       Arial,           18, , 00FFFF, 4, 10,  RIGHT BOLD ITALIC
Text9="%InstallationFor% %WindowsUser%", Arial,           14, , 007F00, 4, -14, BOTTOM ITALIC LEFT
BackgroundColor=FF0000,000000
BackgroundPicture=
BackgroundSound=
Logo=
WizardPicture=
CopyDialogRect=0%, 77%, 100%, 100%, HCENTER
PrecopyFiles=
UserKeyName=%DeveloperName%\%ProductName%
MachineKeyName=%DeveloperName%\%ProductName%\%Version%
UninstallKeyName=%DeveloperName% %ProductName% %Version%
UninstallDisplayName=%ProductName% %Version%
UninstallString=%ReinstallString% /U
ReinstallString=ReinstallString="%CommonSetupDir%\Setup.exe" "%ProgramFilesDir%\Empirum Packages\%Productname% %Version%\%SetupInfDir%\Setup.inf"
ReinstallMode=1
HideUninstall=0
SrcDir=..
ApplicationDir=%ProgramFilesDir%\%ProductName%
SetupInfDir=Install
DataDir=%Personal%
DefaultUser=
DefaultCompany=
Prompts=
RunIfInstalled=
Readme=
Execute=
Expand=0
CopyExistingFiles=0
AskUninstallOld=1
AskLicence=0
AskInfo=0
AskFromCD=0
AskShared=0
AskMode=0
AskDir=0
AskDataDir=0
AskUser=0
UseUser=0
UseCompany=1
UseProductID=0
ProductIDLength=0
UseProductIDPerOption=0
UseCheckmarks=2
AutoIniFileMapping=0
ShellLinks=1
CommonShellLinks=1
CreateUnresolvableShellLinks=1
ShowShellFolder=
LicenceText=
InfoText=
RequirementsText=
UseStringSection=Strings:09
UseSysStringSection=SysStrings:09
PrintServer=
PrintEnvironment=
DateWarning=1
SizeWarning=1
Reboot=0
PreventExternalReboot=1
StartServicesOnReboot=0
CallTimeOut=3600
AbortAfterCallTimeOut=1
ReplaceRunOnce=0
DisableCancelButton=1
ShowEndMessage=0
EndMessage=%EndMessageDesc%
SetupExtDll=
SetupHookFunc=
ShowFullPath=0

[Admin]
AdminSetup=0
ApplicationDir=
AskDir=1
AskOptions=0
ClientSrcDir=Client
UninstallString=%ReinstallString% /U
ReinstallString="%Src%\..\..\..\..\User\Setup.exe" "%Src%\%SetupInfDir%\Setup.inf"

[Client]
ClientDir=
AskDir=0
AskOptions=1
Reboot=0
UseUninstallStringFromApplication=1
InstallAtLast=0

[Workstation]
AskOptions=0
AdminUninstallLink=0
AdminUninstallLinkName=%ProductName% %Version%
UserSetupLink=0
UserSetupLinkName=%ProductName% %Version%

[Strings:07]
Disk1=Diskette 1: Installationsdiskette
EndMessageDesc=Die Installation wurde erfolgreich abgeschlossen!
InstallationFor=Installation für:
InstallerDesc=Dienstprogramm zum Installieren einzelner Komponenten.
InstallerName=Installationsprogramm
ProductDesc=
SetupWizard=Installations-Assistent
Uninstallation=deinstallieren
ErrorLogMessage=Die Installation/Deinstallation wurde mit einer Fehlermeldung abgebrochen!

[Strings:09]
Disk1=Diskette 1: Installation disk
EndMessageDesc=Installation was completed successfully!
InstallationFor=Installation for:
InstallerDesc=Service program to install single components.
InstallerName=Setup program
ProductDesc=
SetupWizard=Installation Wizard
Uninstallation=Uninstallation
ErrorLogMessage=The installation/uninstallation aborted with an error message!

[SysStrings:07]
Users=Benutzer

[SysStrings:09]
Users=Users

[Environment]
V_MSIInstallerID=A4355F73615A153449E7136B11FDA130
ReInstSuccessMessage1031=Die Konfiguration wurde erfolgreich abgeschlossen.
ReInstSuccessMessage1033=Configuration completed successfully.
MSILogFile=%Temp%\MSI_%ProductName%.%Version%.%Revision%.log
CommonSetupDir=%CommonFilesDir%\Setup%SetupBits%
V_MachineValuesPath=%SoftwareDepotServerName%\Values$\MachineValues\%DomainName%
V_UserValuesPath=%HKLM,"Software\matrix42\Software Depot","HomeServer"%\Values$\UserValues\%UserDomain%

; Maschinenabhängige Variablen
; machine dependent variables 
;VM_<Variable>=%%%V_MachineValuesPath%\%ComputerName%.ini,%ComputerName%,<Variable>%%

; Userabhängige Variablen
; user dependent variables 
;VU_<Variable>=%%%V_UserValuesPath%\%WindowsUser%.ini,%WindowsUser%,<Variable>%%

; !!! Setzen der entsprechenden ReplaceEnv Befehle für die Variablen im Abschnitt [Product] nicht vergessen!!!
; !!! Don't forget to set the appropriate ReplaceEnv instructions for the variables in the section [Product]!!!

[Prompts]

[Services]

[Processes]

[EventSources]

[Encryption]

[Disks]
1=%Disk1%

[UserKeyNames]

[Icons]
Product = %ProductNameShort%.ico, 0, 000000, ICON

[Options]
Installer = %InstallerName%, COPYALWAYS, Installer, "%InstallerDesc%"
Product   = %ProductName%,   COPYALWAYS, Product,   "%ProductDesc%"

[OptionDependencies]

[OptionGroups]

[Installer]
1:..\..\..\..\User\Setup.exe,      %CommonSetupDir%, OPTIONAL USEFILENAME DIRECTORY NOSIZEWARNING SETUP, 0
1:..\..\..\..\User\SetupDeu.chm,   %CommonSetupDir%, OPTIONAL USEFILENAME DIRECTORY NOSIZEWARNING SETUP, 0
1:..\..\..\..\User\SetupEnu.chm,   %CommonSetupDir%, OPTIONAL USEFILENAME DIRECTORY NOSIZEWARNING SETUP, 0
1:..\..\..\..\User\Mx42SynSem.dll, %System%,         OPTIONAL USEFILENAME DIRECTORY NOSIZEWARNING SETUP, 0
1:%SetupInfDir%\Setup.inf, %ProgramFilesDir%\Empirum Packages\%Productname% %Version%\, NORMAL,          0

[FileCheckMachine]
ReplaceEnv V_MachineValuesPath
If DoesFileExist ("%V_MachineValuesPath%\%ComputerName%.ini") == "0" Then "FileIsntThere" EndIf

[FileCheckClient]
ReplaceEnv V_UserValuesPath
If "%UserDomain%" <> "%ComputerName%" Then "CheckClientFile" EndIf

[CheckClientFile]
If DoesFileExist ("%V_UserValuesPath%\%WindowsUser%.ini") == "0" Then "FileIsntThere" EndIf

[FileIsntThere]
ErrorLogMsg <Error>
Abort

[Product]
;#FileCheckMachine, MACHINE
;#FileCheckClient, CLIENT

;ReplaceEnv <Variable>

#Set:Product, DONTDELETE
#Reg:OnUninstallProduct, DELETE
#Reg:Product, DONTDELETE
#Ini:Product, DONTDELETE


[Security:Product]
FileDaclEx.Add("%APP%", "%$LocalUsers%", GRANT, READ | WRITE | DELETE | EXECUTE, SUB_CONTAINERS_AND_OBJECTS_INHERIT) 

#Set:Uninstall, DELETE
#Set:ChangeMSISourcelist, DONTDELETE

[Set:Product]
Del %MSILogFile%
IF DoesRegKeyExist ("HKLM,SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{37F5534A-A516-4351-947E-31B611DF1A03},UnInstallString") == "1" Then "RepairMSI" Else "InstallMSI" EndIf

[RepairMSI]
AddMeter 50
Call MsiExec /Fvomus "%SRC%\TomCat.msi"   REBOOT=REALLYSUPPRESS ARPSYSTEMCOMPONENT=1 /qr /Li "%MSILogFile%"
IF DoesTextInFileExist ("%ReInstSuccessMessage1031%", "%MSILogFile%") == "0" & DoesTextInFileExist ("%ReInstSuccessMessage1033%", "%MSILogFile%") == "0" Then "AbortMSIInst" EndIf
Del %MSILogFile%
cd ..
Copy "TomCatStarter.lnk" "%ALLUSERSPROFILE%\Startmenü\Programme\Autostart\TomCatStarter.lnk"

[InstallMSI]
AddMeter 50
Call MsiExec /I "%SRC%\TomCat.msi"   REBOOT=REALLYSUPPRESS ARPSYSTEMCOMPONENT=1 /qr /Li "%MSILogFile%"
If DoesRegKeyExist ("HKLM,SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{37F5534A-A516-4351-947E-31B611DF1A03},UnInstallString") == "0" Then "AbortMSIInst" EndIf
Del %MSILogFile%
cd ..
Copy "TomCatStarter.lnk" "%ALLUSERSPROFILE%\Startmenü\Programme\Autostart\TomCatStarter.lnk"

[Set:Uninstall]
-Del "%ALLUSERSPROFILE%\Startmenü\Programme\Autostart\"
-Del %MSILogFile%
If DoesRegKeyExist ("HKLM,SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{37F5534A-A516-4351-947E-31B611DF1A03},UnInstallString") == "1" Then "AbortMSIUnInst" EndIf
-Call MsiExec /X {37F5534A-A516-4351-947E-31B611DF1A03} REBOOT=REALLYSUPPRESS /qr /Li "%MSILogFile%"
-AddMeter 50

[AbortMSIInst]
ErrorLogMsg %ErrorLogMessage% ErrorLevel: %ErrorLevel%
Abort

[AbortMSIUnInst]
-Abort
-ErrorLogMsg %ErrorLogMessage% ErrorLevel: %ErrorLevel%

[SET:ChangeMSISourcelist]
ReplaceRegValue (HKCR,"Installer\Products\%V_MSIInstallerID%\Sourcelist","LastUsedSource","\\%EmpirumServer%","\\%%EmpirumServer%%", 1)
ReplaceRegValue (HKCR,"Installer\Products\%V_MSIInstallerID%\Sourcelist\Net","1","\\%EmpirumServer%","\\%%EmpirumServer%%", 1)

[Reg:OnUninstallProduct]

[Reg:Product]

[Ini:Product]

[Security:Product]

[Shell:Installer]
;%ProductName%\%ProductName% Setup, %ReinstallString%
;%ProductName%\%ProductName% %Uninstallation%, %UninstallString%, , , , , 1, ,

[Shell:Product]

Benutzeravatar
lennu
Beiträge: 581
Registriert: 01. Aug 2005, 16:20
Wohnort: Bonn
Kontaktdaten:

Beitrag von lennu » 26. Jan 2010, 11:53

Moin moin,

Du hast die Sektion [Security:Product] zwar erstellt, aber unter [Product] nirgends gesagt, dass die Sektion auch genutzt werden soll. Zudem ist [Security:Product] weiter unten nochmal vorhanden - bitte entfernen.

Passe Deine setup.inf mal folgendermaßen an und probier es nochmal:

Code: Alles auswählen

[Product]
;#FileCheckMachine, MACHINE
;#FileCheckClient, CLIENT

;ReplaceEnv <Variable>

#Set:Product, DONTDELETE
#Reg:OnUninstallProduct, DELETE
#Reg:Product, DONTDELETE
#Ini:Product, DONTDELETE
#Set:Uninstall, DELETE
#Set:ChangeMSISourcelist, DONTDELETE
#Security:Product

[Security:Product]
FileDaclEx.Add("%APP%", "%$LocalUsers%", GRANT, READ | WRITE | DELETE | EXECUTE, SUB_CONTAINERS_AND_OBJECTS_INHERIT)

[Set:Product]
Del %MSILogFile%
IF DoesRegKeyExist ("HKLM,SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{37F5534A-A516-4351-947E-31B611DF1A03},UnInstallString") == "1" Then "RepairMSI" Else "InstallMSI" EndIf
Falls es dann immernoch nicht funktionieren sollte, könntest Du in Set:Product das Verzeichnis explizit anlegen lassen.

Grüße,
Lennu
Lennart Freyberg
Sysadmin
Deutsche Steinzeug Cremer & Breuer AG

Benutzeravatar
aalbang
Beiträge: 21
Registriert: 18. Aug 2009, 16:19
Kontaktdaten:

Beitrag von aalbang » 26. Jan 2010, 12:50

ahhh... vielen Dank.
Jetzt funktioniert es.


Ich hab die letzten 2 Tage alles mögliche durchprobiert, aber das hab ich einfach nicht gesehen. Obwohls eigentlich das offensichtlichste gewesen wär.

Nochmals Danke.

Gruß
Andreas

Benutzeravatar
lennu
Beiträge: 581
Registriert: 01. Aug 2005, 16:20
Wohnort: Bonn
Kontaktdaten:

Beitrag von lennu » 26. Jan 2010, 13:45

Der Wald und die Bäume - kenn ich ;-)
Lennart Freyberg
Sysadmin
Deutsche Steinzeug Cremer & Breuer AG

Antworten

Zurück zu „Paketierung“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 6 Gäste