2010-06-23 15 views
5

क्या मुझे यूएसी के तहत 'हर किसी' या 'उपयोगकर्ता' या 'लेखक' को अनुमतियां "संशोधित" करनी चाहिए, यदि मैं डेटा फ़ोल्डर्स और प्रोग्राम प्रोग्राम के गैर-व्यवस्थापक उपयोगकर्ताओं को लिखने योग्य बनाना चाहता हूं?गैर-व्यवस्थापक के लिए इनो सेटअप और अनुमतियां: सभी, उपयोगकर्ता, या लेखक?

मैं चाहता हूं कि मूल रूप से कंप्यूटर पर बैठे हर कोई प्रोग्राम के माध्यम से डेटा को पढ़/लिख सकता है। मैंने यह भी पढ़ा है कि संशोधित अनुमति के लिए 'हर कोई' का उपयोग करके नेटवर्क पर सुरक्षा छेद खुल सकता है। हर किसी, उपयोगकर्ताओं और लेखकों के बीच क्या अंतर है? सुरक्षा प्रभाव क्या हैं? InnoSetup के लिए

क्रियान्वयन विवरण का पालन करें:

InnoSetup का उपयोग करना, मैं फ़ाइलें सबफ़ोल्डर एक मानक कार्यक्रम में एक EXE स्थापित करते हैं, और यह के भीतर एक डाटा सबफ़ोल्डर, इस तरह:

C: \ Program Files \ मेरे प्रोग्राम \ Prog.exe
C: \ Program Files \ मेरे प्रोग्राम \ Data \ MyData.dat

अब, यह सुनिश्चित करने के लिए इतना है कि MyData.dat Prog.exe द्वारा संशोधित किया जा सकता है, भले ही Prog.exe एक द्वारा शुरू की है गैर-व्यवस्थापक उपयोगकर्ता, मैं इस पंक्ति के साथ सबफ़ोल्डर "डेटा" को "संशोधित" अनुमति देता हूं:

[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; 

यह प्रश्न 2686918 जैसा है लेकिन मुझे अनुमतियों के प्रकारों के बारे में पर्याप्त जानकारी नहीं मिली, इसलिए यह नया। मैं इसे स्पष्ट करने के बाद उस प्रश्न को अपडेट कर दूंगा।

विशेष रूप से InnoSetup इन समूहों को परिभाषित करता है:

  • व्यवस्थापक में निर्मित प्रशासक समूह
  • authusers प्रमाणीकृत उपयोगकर्ता समूह
  • हर किसी को हर कोई समूह
  • powerusers निर्मित पावर उपयोगकर्ता समूह
  • प्रणाली स्थानीय सिस्टम उपयोगकर्ता
  • उपयोगकर्ता निर्मित उपयोगकर्ता समूह

इनमें से कौन सा "मशीन, व्यवस्थापक, गैर-व्यवस्थापक, या जो कुछ भी बैठा है, लेकिन नेटवर्क से मशीन तक पहुंचने वाला कोई भी व्यक्ति" के नजदीकी नहीं है?

उत्तर

3

आप गलत तरीके से जा रहे हैं! %PROGRAMFILES% के तहत अपना एप्लिकेशन डेटा स्टोर न करें! इस निर्देशिका के लिए जिसका उद्देश्य है: CSIDL_APPDATA

माइक्रोसॉफ्ट से परामर्श लें, यदि आप security identifiers के बारे में अधिक जानकारी चाहते हैं।

+0

धन्यवाद। मैंने पहले यह किया है, और कुछ मामलों में मेरा प्रोग्राम उन फ़ोल्डरों में से कुछ तक पहुंचने में सक्षम नहीं है। इसलिए प्रोग्रामफाइल में डेटा-केवल उपफोल्डर का उपयोग करने और अनुमतियों को संशोधित करने का विचार। (डेटा उपफोल्डर को संशोधित करने की अनुमति, स्थापित exe के साथ फ़ोल्डर नहीं), और ऐसा लगता है कि अब तक ठीक काम करता है ... और यदि मैं इसके बजाय प्रोग्रामडेटा का उपयोग करता हूं, तो मुझे अभी भी उपयोग किए जाने वाले विशेष सबफ़ोल्डर की अनुमतियां सेट करने की आवश्यकता है, इसलिए मैं अभी भी यह समझने की कोशिश कर रहा हूं कि हर किसी, उपयोगकर्ताओं, या लेखकों का उपयोग करना है या नहीं ... – MarcoB

+0

"सुरक्षा पहचानकर्ता" के बारे में मेरा संपादन देखें। – splash

+0

धन्यवाद, शायद आप हमें एक और पॉइंटर दे सकते हैं ... क्या आप कृपया एसआईडी की इनोसेटअप की सूची के बारे में अपना संपादन देख सकते हैं और सिफारिश कर सकते हैं कि उनमें से कौन सा "कंप्यूटर पर बैठे सभी और किसी और के" बंद नहीं है ... धन्यवाद ! – MarcoB