AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Benutzerrechte

Ein Thema von Satyr · begonnen am 14. Feb 2023 · letzter Beitrag vom 16. Feb 2023
Antwort Antwort
Satyr

Registriert seit: 8. Feb 2012
Ort: Essen
305 Beiträge
 
Delphi 10.4 Sydney
 
#1

Benutzerrechte

  Alt 14. Feb 2023, 18:57
Ich habe ein Problem mit Nutzerrechten in Windows10.

Manche wissen, ich spiele mit den Möglichkeiten eines WebDav herum.
Soweit klappt alles. Ich habe mir ein kleines Tool gebastelt das meine Festplatten anzeigt, ein WebDav als Laufwerk verbinden lässt oder bei Bedarf wieder trennt.

Als kleines Sahnehäubchen wollte ich das Laufwerkssymbol anpassen. Ist über die Registry ja nicht schwierig, eigentlich.

Das funktioniert nur über Admin Rechte. Kein Problem, dachte ich. Dem Programm in den Optionen den Admin Status gegeben, Delphi als Admin gestartet.
Alles funktioniert. Nur hier ein Problem:

Außerhalb Delphi bin ich ein normaler User. Ich sehe nicht die Laufwerke die der Admin anlegte. Starte ich das kleine Programm außerhalb von Delphi als normaler User, kann ich Laufwerke anlegen, die wiederum ein Admin nicht sieht. Das Laufwerksicon kann ich als normaler User nicht wechseln.

Das unter dem jeeweiligen User die Laufwerke erstellt/getrennt werden wie gewünscht, sehe ich im cmd Fenster (/net use *). Als User gestartet sehe ich die vom normaluser angelegten, als Admin gestartet sehe ich die vom Admin angelegten.

Welche Möglichkeiten habe ich, ohne in Windows näher eingreifen zu müssen? Habe ich überhaupt welche?
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.848 Beiträge
 
Delphi 12 Athens
 
#2

AW: Benutzerrechte

  Alt 14. Feb 2023, 20:56
Du kannst dir auf deinem privaten PC einfach in regedit die Rechte auf dem Schlüssel geben, so dass du in den Registry Eintrag auch ohne Adminrechte schreiben kannst.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Satyr

Registriert seit: 8. Feb 2012
Ort: Essen
305 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Benutzerrechte

  Alt 14. Feb 2023, 21:11
Du kannst dir auf deinem privaten PC einfach in regedit die Rechte auf dem Schlüssel geben, so dass du in den Registry Eintrag auch ohne Adminrechte schreiben kannst.
Danke, probiere ich nachher oder morgen (PC ist grade mit meiner Freundin in Hogwarts )

Per Delphi kann ich da nichts machen, oder? Wegen Weitergabe von dem Tool.
  Mit Zitat antworten Zitat
CCRDude

Registriert seit: 9. Jun 2011
678 Beiträge
 
FreePascal / Lazarus
 
#4

AW: Benutzerrechte

  Alt 15. Feb 2023, 16:38
Das Problem kenne ich, bin zufälligerweise heute wieder drüber gestolpert. Ich helfe mir dann meist, in dem ich einen Datei-Browser (Explorer, Total Commander) elevated (als Admin) starte und einfach nur einmal auf das Share zugreife, danach ist es ganz verfügbar. Alternative im als Admin laufenden Delphi im Datei-Öffnen-Dialog nur einmal drauf zugreifen...

Insofern wird's ziemlich sicher auch Code dafür geben, ohne dass man an Rechten rumbastelt.

(PS: UNC-Pfad soll gehen)

(PS #2: das funktioniert natürlich nur, weil Windows sich die Credentials gemerkt hat... wenn ich über Deinen Fall weiter nachdenke, müsstest Du für diesen Anwendungsfall wohl die Verbindung für beide Access Token erstellen)

Geändert von CCRDude (15. Feb 2023 um 17:04 Uhr)
  Mit Zitat antworten Zitat
Satyr

Registriert seit: 8. Feb 2012
Ort: Essen
305 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: Benutzerrechte

  Alt 15. Feb 2023, 18:17
(PS #2: das funktioniert natürlich nur, weil Windows sich die Credentials gemerkt hat... wenn ich über Deinen Fall weiter nachdenke, müsstest Du für diesen Anwendungsfall wohl die Verbindung für beide Access Token erstellen)
Ich habe noch viel gegoogelt gestern und auch einiges gefunden gestern. Die ShellApi bietet auch Möglichkeiten, die nur teilweise Adminrechte brauchen.

Ich habe mich entschieden alles ein wenig zu umgehen.
Ich habe beschlossen das Tool nur auf Nutzer Ebene zu empfehlen und ein kleines Setup dazu gebastelt. Das Setup setzt die Rechte des Registry Key und alles unter dem, wie benötigt und gut ist.

Nicht die eleganteste "Lösung" aber die, sie für mich am besten umsetzbar ist.
  Mit Zitat antworten Zitat
CCRDude

Registriert seit: 9. Jun 2011
678 Beiträge
 
FreePascal / Lazarus
 
#6

AW: Benutzerrechte

  Alt 16. Feb 2023, 08:17
Entschuldige, ich hab Dein Problen glaube ich etwas falsch wahrgenommen.

Registry-Rechte aufweichen im Installer ist irgendwie sehr unschön.

Ging es nur darum, das Icon zu setzen, während das Programm non-elevated läuft?

ShellExecute(Application.MainForm.Handle, 'runas', PChar(ParamStr(0)), PChar(ADrive), nil, SW_HIDE);
Delphi-Quellcode:
program blub;
...
begin
   if FindCmdLineSwitch('seticon') then begin
      // set icon for ParamStr(2) in registry
      Exit;
   end;
   Application.Initialize ...
Besser als sich selbst mit Parametern aufzurufen wäre natürlich eine Mini-Konsolen-Exe ohne alles, nur mit dieser Funktion, um die Elevation so klein wie möglich zu halten.

Das wäre auf jeden Fall "korrekteres" Vorgehen, denn:

* Programme sollte non-elevated laufen können (siehe auch MS-Vorgaben für Compatible with Windows &c)
* Elevaten nur für einzelne Aktionen ist immer sicherer als Programme ganz elevated laufen zu lassen
* Programme sollten keine Rechte aufweichen wo nicht unbedingt nötig (siehe AV-Heuristiken)

Ja, dann fragt das Programm jedesmal nach Admin-Rechten, wenn eine Verknüpfung erstellt wird. Würde es, wenn das Programm selber elevated läuft, ja auch, und entspricht dem, was passiert.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:11 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz