मैं एक विशेष निर्देशिका में फ़ाइलों को बनाने और पढ़ने के लिए एक उपयोगकर्ता अनुमति देना चाहूंगा, लेकिन फ़ाइलों को संशोधित या हटाने के लिए नहीं। यदि उपयोगकर्ता उन फ़ाइलों को संलग्न कर सकता है जो ठीक है, लेकिन मैं ऐसा नहीं करूंगा। यह उबंटू लिनक्स पर है।
मुझे लगता है कि यह मानक यूनिक्स फ़ाइल अनुमतियों के साथ असंभव है, लेकिन शायद एसीएल का उपयोग करना संभव है? उपयोगकर्ता हमेशा SFTP का उपयोग करके कनेक्ट हो रहा होगा, इसलिए यदि SFTP के भीतर इसे नियंत्रित करने का कोई तरीका था (जैसा कि OS अनुमतियों के विपरीत) ठीक होगा।
बिल्कुल स्पष्ट होने के लिए, मुझे निम्नलिखित चाहिए:
- इको हैलो> परीक्षण # सफल होता है, क्योंकि परीक्षण मौजूद नहीं है, और निर्माण की अनुमति है
- इको हेलो >> टेस्ट # सफल या विफल हो सकता है, इस पर निर्भर करता है कि एपडिंग की अनुमति है या नहीं
- इको हेल्लो 2> परीक्षण # विफल रहता है, क्योंकि परीक्षण पहले से मौजूद है, और संशोधन की अनुमति नहीं है
- कैट टेस्ट # सफल होता है, क्योंकि रीड की अनुमति है
- rm test # विफल रहता है, क्योंकि हटाने की अनुमति नहीं है
यदि आप सोच रहे हैं कि मैं ऐसा क्यों करना चाहता हूं, तो यह रैंसमवेयर के लिए एक डुप्लिकेटी बैकअप सिस्टम को प्रतिरोधी बनाने के लिए है।
echo > test
, तो शेल एकopen("test", O_WRONLY|O_CREAT|O_TRUNC)
फाइल बनाता है और फिरecho
उस सामग्री को लिखने वाले को इनवॉइस करता है इसलिए इसे संशोधित करता है। अब आप केवल पहले खुले (WR) को सफल होने की अनुमति दे सकते हैं।