Berechtigungen für einen Ordner hinzufügen

Fragen zu WAPT-Paketen / Anfragen und Hilfe bezüglich WAPT-Paketen.
Forumregeln
Community-Forumregeln
* Englischer Support auf www.reddit.com/r/wapt
* Französischer Community-Support ist in diesem Forum verfügbar.
* Bitte kennzeichnen Sie gelöste Themen mit [GELÖST].
* Bitte bearbeiten Sie keine Themen, die mit [GELÖST] markiert sind. Erstellen Sie stattdessen ein neues Thema und verweisen Sie auf das alte.
* Geben Sie die installierte WAPT-Version, die vollständige Versionsnummer und die Build-Nummer (2.2.1.11957 / 2.2.2.12337 / usw.) sowie die Enterprise-/Discovery-Edition an.
* Versionen 1.8.2 und älter werden nicht mehr unterstützt. Fragen zu Version 1.8.2 werden nur beantwortet, wenn sie sich auf ein Upgrade auf eine unterstützte Version (2.1, 2.2 usw.) beziehen.
* Geben Sie das Server-Betriebssystem (Linux/Windows) und die Version (Debian Buster/Bullseye – CentOS 7 – Windows Server 2012/2016/2019) an.
* Geben Sie gegebenenfalls das Betriebssystem des Administrations-/Paketerstellungsrechners und des Rechners mit dem problematischen Agenten an (Windows 7/10/11/Debian 11/etc.).
* Vermeiden Sie es, mehrere Fragen in einem Thema zu stellen, da diese sonst möglicherweise ignoriert werden. Falls mehrere Themen relevant sind, erstellen Sie bitte separate Themen, vorzugsweise nacheinander und nicht gleichzeitig (d. h. vermeiden Sie Spam im Forum).
* Fügen Sie Code-Snippets, Screenshots und andere Bilder direkt in Ihren Beitrag ein. Links zu Pastebin, Bitly und anderen Drittanbieterseiten werden systematisch entfernt.
* Wie in jedem Community-Forum erfolgt die Unterstützung freiwillig durch die Mitglieder. Für kommerziellen Support kontaktieren Sie bitte den Vertrieb von Tranquil IT unter +44 2 40 97 57 55.
Gesperrt
Benutzeravatar
Gaetan
Nachrichten: 169
Anmeldung: 8. August 2019 - 10:16 Uhr
Ort: Toulouse

25. Juni 2020 – 16:46 Uhr

Hallo zusammen,
Bei der Installation bestimmter Software benötigt der Endbenutzer Zugriffsrechte für den Ordner.
In einem Kontext, in dem der Benutzer kein Administrator ist, stellt dies jedoch ein Problem dar.

Die von mir verwendete Lösung sieht folgendermaßen aus:
- ein Paket, das ein PowerShell-Modul installiert (wodurch dieses zu einer Abhängigkeit der Software wird)
- ein Skript zum Ändern der Berechtigungen.

Rechte werden für authentifizierte Benutzer auf einen bestimmten Ordner vergeben (können von jeder anderen Gruppe geändert werden).

Das PowerShell-Modul heißt NTFSSecurity und ist hier verfügbar: https://gallery.technet.microsoft.com/s ... dbb2b84e85

Das zur Installation verwendete Paket enthält folgenden Code:

Code: Alle auswählen

# -*- coding: utf-8 -*-
from setuphelpers import * 

uninstallkey = []

targetPWSH = makepath(programfiles,'WindowsPowerShell\Modules\NTFSSecurity')
folderPWSH = 'NTFSSecurity'

def install():

    #copie du module Powershell
    if (isdir(targetPWSH) != True) :
        mkdirs(targetPWSH)
        copytree2(folderPWSH,targetPWSH)
Das verwendete PowerShell-Skript lautet wie folgt:

Code: Alle auswählen

#Autorisation d'accès au dossier pour les utilisateurs loggés
Install-Module NTFSSecurity
$Path = "CHEMIN DU DOSSIER POUR LES DROITS"

#Désactivation de l'héritage
Get-Item $Path | Disable-NTFSAccessInheritance
Add-NTFSAccess –Path $Path -Account "Utilisateurs authentifiés" -AccessRights FullControl
Im WAPT-Paket benötigen Sie lediglich:
- Um Ihr NTFSSecurity-Installationspaket zu einer Abhängigkeit zu machen,
- Platzieren Sie eine .ps1-Datei mit dem PowerShell-Code am Anfang,
- Führen Sie das Skript in Ihrer def install()-Funktion mit folgendem Befehl aus:

Code: Alle auswählen

run('powershell.exe -NoProfile -NonInteractive -executionpolicy bypass -File FICHIER.ps1')
Hoffentlich hilft das.
nliaudat
Nachrichten: 29
Anmeldung: 8. August 2019 - 8:31 Uhr

25. Juni 2020 – 17:05 Uhr

Oder es gibt die gute alte iCalcs-Methode:

#https://support.microsoft.com/fr-fr/hel ... ng-systems

Code: Alle auswählen

    print('Restricting permissions')
    run(r'icacls.exe "%s" /inheritance:d' % install_dir)
    run(r'icacls.exe "%s" /remove:g "*S-1-5-32-545" /t /c /q' % install_dir) #user
    run(r'icacls.exe "%s" /remove:g "*S-1-5-11" /t /c /q' %  install_dir) #authenticated user
    run(r'icacls.exe "%s" /remove:g "*S-1-5-1" /t /c /q' %  install_dir) #remote
    run(r'icacls.exe "%s" /remove:g "*S-1-1-0" /t /c /q' %  install_dir) #everybody
Benutzeravatar
Gaetan
Nachrichten: 169
Anmeldung: 8. August 2019 - 10:16 Uhr
Ort: Toulouse

26. Juni 2020 - 09:18 Uhr

Danke für die Info =)
Funktioniert es auch gut, wenn Vererbung vorhanden ist?
nliaudat
Nachrichten: 29
Anmeldung: 8. August 2019 - 8:31 Uhr

26. Juni 2020 - 09:42 Uhr

Perfekt:

Code: Alle auswählen

  iCACLS.exe /inheritance:e|d|r
          e - Enable inheritance
          d - Disable inheritance and copy the ACEs 
          r - Remove all inherited ACEs
Benutzeravatar
Gaetan
Nachrichten: 169
Anmeldung: 8. August 2019 - 10:16 Uhr
Ort: Toulouse

26. Juni 2020 - 09:53 Uhr

Vielen Dank.
Ich werde es so versuchen, das ist einfacher. ;)
Benutzeravatar
Gaetan
Nachrichten: 169
Anmeldung: 8. August 2019 - 10:16 Uhr
Ort: Toulouse

1. Juli 2020 - 10:57 Uhr

Es funktioniert bei mir, danke für den Tipp ;)

Ich habe es folgendermaßen verwendet:

Code: Alle auswählen

run(r'icacls.exe "%s" /inheritancelevel:d /grant *S-1-5-11:(M) /t /C /q' %  TargetLogiciel)
Gesperrt