2010-06-23 11 views
5

Czy powinienem nadać uprawnienia "modyfikuj" "wszystkim" lub "użytkownikom" lub "autorom", jeśli w UAC chcę, aby foldery danych i pliki były zapisywalne dla nieadministracyjnych użytkowników programu?Ustawienia Inno i uprawnienia dla nie-administratorów: wszystkich, użytkowników lub autorów?

Chcę, aby zasadniczo każdy, kto może usiąść przy komputerze, może czytać/zapisywać dane za pośrednictwem programu. Czytałem również, że używanie "wszystkich" do modyfikowania uprawnień może otworzyć lukę bezpieczeństwa w sieci. Jaka jest różnica między wszystkimi, użytkownikami i autorami? Jakie są implikacje dla bezpieczeństwa?

Szczegóły realizacji InnoSetup śledzić:

Korzystanie InnoSetup, zainstalować EXE w standardowym programie Files podfolder i podfolder danych w nim tak:

C: \ Program Files \ My Prog \ Prog.exe
C: \ Program Files \ My Prog \ Data \ MyData.dat

Teraz, aby MyData.dat mógł być modyfikowany przez Prog.exe, nawet jeśli Prog.exe jest uruchamiany przez Użytkownicy niebędący administratorami, daję "modyfikować" uprawnienia do podfolderu "Dane" w tym wierszu:

[Dirs] 
Name: "{app}\Data"; Permissions: everyone-modify; 
;This is the question: should I use users or authusers instead of everyone? 

[Files] 
Source: "MyProg.exe"; DestDir: "{app}"; Flags: replacesameversion; 
Source: "MyData.dat"; DestDir: "{app}\Data"; Flags: replacesameversion; 

To pytanie jest podobne do 2686918, ale nie znalazłem tam wystarczających informacji o typach uprawnień, stąd ten nowy. Zaktualizuję to pytanie po wyjaśnieniu tego.

InnoSetup w szczególności definiuje następujące grupy:

  • adminów wbudowanej grupy Administratorzy
  • przysięgłe grupa użytkowników systemu
  • authusers
  • każdy grupa Wszyscy
  • zaawansowani wbudowanej grupy Użytkownicy zaawansowani
  • Lokalny użytkownik SYSTEMU
  • użytkowników Wbudowana grupa użytkowników

Który z nich znajduje się najbliżej "każdego użytkownika, który siedzi na komputerze, administratora, nie administratora lub kimkolwiek innym, ale nikt, kto uzyskuje dostęp do urządzenia z sieci"?

Odpowiedz

3

Zmierzasz w niewłaściwy sposób! Nie przechowuj danych aplikacji pod numerem %PROGRAMFILES%! Skorzystaj z katalogu przeznaczonego do tego: CSIDL_APPDATA

Skonsultuj się z firmą Microsoft, jeśli chcesz uzyskać więcej informacji na temat security identifiers.

+0

Dzięki. Zrobiłem to wcześniej, aw niektórych przypadkach mój program nie był w stanie uzyskać dostępu do niektórych z tych folderów. Stąd pomysł wykorzystania podfolderu tylko do danych w ProgramFiles i nadania uprawnień do modyfikacji. (uprawnienie do modyfikowania podfolderu danych, a nie do folderu z zainstalowanym exe) i wygląda na to, że działa jak dotąd dobrze ... I nawet jeśli używam zamiast tego opcji ProgramData, nadal muszę ustawić uprawnienia konkretnego podfolderu, którego używam, więc Nadal staram się zrozumieć, czy użyć wszystkich, użytkowników lub autoużytkowników, czy co jeszcze ... – MarcoB

+0

Zobacz moją edycję dotyczącą "identyfikatorów zabezpieczeń". – splash

+0

Dzięki, może dasz nam jeszcze jedną wskazówkę ... Czy możesz zobaczyć moją edycję dotyczącą listy identyfikatorów SID InnoSetup i polecić, która z nich jest zamknięta dla "każdego, kto siedzi przy komputerze, a nikt inny" ... dzięki ! – MarcoB

Powiązane problemy