2013-05-26 6 views
6

पर लिख सकता है मुझे यकीन नहीं है कि अगर मैं इस मामले में उबंटू सर्वर मामलों का उपयोग कर रहा हूं तो मुझे यकीन नहीं है। जब मैं File.mkdirs() विधि का उपयोग कर फ़ोल्डर बनाने की कोशिश कर रहा हूं, तो यह अपवाद नहीं फेंकता है, बस कभी काम नहीं करता है।क्या फ़ोल्डर (ओं) मेरा टॉमकैट एप्लिकेशन उबंटू सर्वर

विशिष्ट कोड संदर्भों के साथ मेरी समस्या का एक बड़ा स्पष्टीकरण यहां पाया जा सकता: Cannot Create Directory On Server. Permission Issue?

कारण मैं एक नया सवाल लिख रहा हूँ है अगर मैं सर्वर पर निर्देशिका बनाने समस्याएं आ रही हैं क्योंकि मैं सोच रहा हूँ अनुमतियों के कारण।

String path = /home/username/foldertocreate; 
File file = new File(path); 
file.mkdirs(); 

तो मैं/home/उपयोगकर्ता नाम निर्देशिका में फ़ोल्डर बनाने की कोशिश कर रहा हूं। यह ठीक काम करता है जब मैं अपने देव बॉक्स पर और मोड ग्रह के अंदर एक टोमकैट उदाहरण पर देव मोड में चल रहा हूं, लेकिन जब सर्वर पर कोड चलाया जाता है तो विफल रहता है। क्या ऐसा इसलिए हो सकता है क्योंकि देव बॉक्स पर उपयोगकर्ता लॉग इन है और इसलिए/home/username नाम लिखने के लिए अनुमति खुली है? सर्वर पर उपयोगकर्ता वास्तव में लॉग इन नहीं होता है जबकि प्रोग्राम चल रहा है ...

क्या कोई विशिष्ट फ़ोल्डर है जिसे मैं लिखने में सक्षम हूं?

मैंने फ़ोल्डर की अनुमतियों की जांच की जो वर्तमान में 700 पर सेट हैं। क्या यह समस्या हो सकती है? क्या यह फ़ोल्डर 666 या 777 पर सेट करना सुरक्षित है? क्या यह फ़ोल्डर लिखने योग्य है भले ही उपयोगकर्ता लॉग इन नहीं है?

अद्यतन: कोई भाग्य के साथ फ़ोल्डर अनुमतियों को 755 में बदलने का प्रयास किया।

उत्तर

6

यदि आप टॉमकैट के उबंटू के पैक किए गए संस्करण का उपयोग कर रहे हैं, तो यह एक अलग उपयोगकर्ता खाते के तहत चल रहा है - संभवतः 'टोमकैट' नाम दिया गया है। ps aux | grep catalina के साथ दो बार जांचें - यह उपयोगकर्ता नाम प्रदर्शित करेगा कि टोमकैट पहले कॉलम में चल रहा है। वास्तव में इस उपयोगकर्ता खाते को निर्देशिका/फाइलें बनाने में सक्षम होना चाहिए।

इस कारण से, आप शायद मनमाने ढंग से घर निर्देशिका को दुनिया लिखने योग्य नहीं खोलना चाहते हैं, बल्कि टॉमकैट उपयोगकर्ता द्वारा कहीं भी विशिष्ट निर्देशिकाओं को कॉन्फ़िगर करने के लिए कॉन्फ़िगर करें। 755 अनुमति निर्धारित करने से मालिक अनुमति/पढ़/निष्पादन निष्पादित करता है, जबकि सभी को अनुमति/निष्पादित अनुमति मिलती है। यदि 'टोमकैट' मालिक नहीं है, तो यह इन निर्देशिकाओं में कुछ भी नहीं कर पाएगा। लेकिन chmod 777 पर जाल के लिए मत गिरें - जब तक कि यह एक त्वरित परीक्षण के लिए न हो।

+0

क्षमा करें यह मेरा पहला समय उत्पादन सर्वर चला रहा है, लेकिन यह एक अद्भुत सीखने का अनुभव रहा है और स्वीकार्य रूप से मैं इस विषय पर थोड़ा ताजा हूं। तो अगर मैं घर/उपयोगकर्ता नाम फ़ोल्डर में एपडाटा या कुछ नामक निर्देशिका बनाता हूं और 755 यह सुरक्षा सुरक्षा खतरा नहीं है? – ryandlf

+0

पीएस। आप बिल्कुल सही थे, उपयोगकर्ता नाम tomcat7 है। मुझे नहीं पता था कि यह उपयोगकर्ता नाम बदल गया है। इच्छा है कि मेरे अपवाद ने उल्लेख किया था कि ... – ryandlf

+0

इसके अलावा, मैं फ़ोल्डर फ़ोल्डर कमांड में उपयोगकर्ता नाम का उपयोग कैसे करूं? क्या कोई पासवर्ड है जिसे मुझे कहीं सेट करने की ज़रूरत है? – ryandlf

संबंधित मुद्दे