आई एमएमपी चल रहा है httpd
_www के रूप में सर्वर और मैं शेल स्क्रिप्ट (bash) के भाग के रूप में अस्थायी निर्देशिका निर्दिष्ट करना चाहता हूं।
मैंने उपयोग करने की कोशिश की है $TMPDIR
इन पदों के अनुसार:
हालाँकि यह इंगित करता है /var/folders/vp/tlt7xf791gl1_v56m0xdmrph0000gn/T/
और इस फ़ोल्डर में आवश्यक अनुमति नहीं है, इसलिए Apache सर्वर वहां कोई भी फाइल नहीं बना सकता है।
इस पर आधारित:
$ /usr/bin/stat -F $TMPDIR /tmp /private/tmp
drwx------ 104 kenorb staff 3536 Oct 14 22:21:05 2015 /var/folders/vp/tlt7xf791gl1_v56m0xdmrph0000gn/T//
lrwxr-xr-x 1 root wheel 11 Apr 9 13:08:03 2014 /tmp@ -> private/tmp
drwxrwxrwt 112 root wheel 3808 Oct 14 22:12:04 2015 /private/tmp/
मेरा www उपयोगकर्ता जिसकी मुझे परवाह है:
$ id _www
uid=70(_www) gid=70(_www) groups=70(_www),12(everyone),61(localaccounts),401(com.apple.sharepoint.group.1),100(_lpoperator)
मैं उपयोग नहीं कर सकता /tmp
, क्योंकि यह मेरे से जुड़ा हुआ है /private/tmp
(जो नाम बताता है कि यह निजी है)।
इसलिए मैं ओएस एक्स पर अपनी सही अस्थायी निर्देशिका कैसे निर्धारित करूं, इसलिए मैं और मेरी httpd
सर्वर इसका उपयोग कर सकता है?
मैं हार्डकोड मान नहीं चाहता, क्योंकि स्क्रिप्ट अलग-अलग वातावरणों (जैसे गैर-एमएनएम पर्यावरण) पर उपयोग किए जाने पर बेकार हो जाएगी, इसलिए स्थान भिन्न हो सकता है।