मैं WinSCP के साथ फ़ाइलों को `/ var / www` में कैसे कॉपी करूं?


11

जब मैं /var/wwwअपने ec2 Ubuntu उदाहरण पर अपनी वेब फ़ाइलों को अपाचे में रखने की कोशिश करता हूँ तो यह मुझे एक त्रुटि बताते हुए कहती है कि मेरे पास अनुमति नहीं है।

Permission denied.
Error code: 3
Error message from server: Permission denied
Request code: 3

मैं अपने आप को ऐसा करने की अनुमति कैसे दूं या /var/wwwWinSCP के साथ फाइल कॉपी करने का सबसे अच्छा तरीका क्या है ?

जवाबों:


15

मुझे WinSCP में वही त्रुटि मिल रही थी। एक समाधान का उपयोग करके '/ www /' फ़ोल्डर के स्वामित्व को बदलना है chown। इस तरह, आप उस उपयोगकर्ता को बना सकते हैं जिसे आप 'स्वामी' होने के बजाय मालिक के साथ लॉग इन करते हैं। मैं उबंटू के बजाय अमेज़ॅन लिनक्स का एक उदाहरण का उपयोग कर रहा हूं, लेकिन इस कमांड ने मेरे लिए काम किया:

sudo chown -R -v ec2-user /var/www/

उपयोगकर्ता 'ec2-user' वह उपयोगकर्ता है जिसके साथ मैं लॉग इन करता हूं।

संभावित रूप से उपयोगी लिंक

  • alestic.com : EC2 के लिए आधिकारिक उबंटू इमेज पर sudo, ssh, rsync का उपयोग करना
  • apache.com : कमांड लिस्ट

किसी और के प्रश्न के उत्तर के रूप में मदद के लिए आपके अनुरोधों को किसी भी प्रतिक्रिया या सहायक प्रतिक्रिया नहीं मिलने की संभावना है। इसे प्राप्त करने के लिए, आपको संभवतः अपने स्वयं के प्रश्न पूछने की बेहतर जानकारी है, जिसकी आपको सटीक जानकारी चाहिए।
हत्यारे

9

WinSCP के माध्यम से उपयोगकर्ता लॉगिंग के लिए लेखन अनुमति सक्षम करें। इसे करने के दो तरीके हैं।

पहला तरीका फ़ोल्डर पर अनुमतियों को बदलने के लिए किसी को भी इसे लिखने की अनुमति है। यह सबसे अच्छी सुरक्षा नहीं है।

chmod 777 /var/www


दूसरा तरीका यह है कि अपने उपयोगकर्ता को निर्देशिका के मालिक के समूह में जोड़ें, और फिर समूह के लिए निर्देशिका को लिखने के लिए अनुमतियाँ सेट करें।

पता लगाएँ कि निर्देशिका का मालिक कौन है:

ls -l /var | grep www

आपको कुछ इस तरह दिखाई देगा: drwxr-x --- 9 www-data www-data 4096 Jul 14 2009 www। ध्यान देने वाली महत्वपूर्ण बात दो नाम हैं रूट और रूट। इस स्थिति में, निर्देशिका का स्वामी www-data है, और निर्देशिका का समूह www-data है। तो अब आप अपने उपयोगकर्ता को www-data के समूह में जोड़ देंगे।

usermod -G www-data user

अब केवल समूह में लिखित अनुमति जोड़ें।

chmod 770 /var/www

अभी

ls -l /var | grep www

वापस आना चाहिए: drwxrwx --- 9 www-data www-data 4096 Jul 14 2009 www

इसके साथ आप निर्देशिका को लिखने में सक्षम होंगे, जबकि सभी के लिए विशेषाधिकारों को नहीं खोलेंगे।


1
सटीकता के लिए मामूली सुधार - sudo chmod 777 / var / www - sudo usermod -G www-data (उपयोगकर्ता नाम) - sudo chmod 770 / var / www - यह आपके उदाहरण में कौन हैं इसके आधार पर काम कर सकता है, लेकिन sudo 'को काम करना चाहिए कोई फर्क नहीं पड़ता कि आप कौन हैं (मान लें कि आपका लॉगिन रूट के / व्यवस्थापक के लिए / etc / sudoers में है)।
bshea

1

ec2 पर यह मेरे लिए काम करता है। उपयोगकर्ता "ec2-user" के साथ पोटीन के माध्यम से बॉक्स में प्रवेश करें और कमांड का उपयोग करें:

sudo root
chmod 777 <NAME_OF_FOLDER>

नोट: यह अनुदान सभी उपयोगकर्ताओं के लिए पहुँच लिखता है।

अब WinScp का उपयोग करके लिखने में सक्षम होना चाहिए।


1

निम्नलिखित ट्यूटोरियल ने मेरे लिए काम किया और उपयोगी स्क्रीनशॉट प्रदान किए। एक नियमित उपयोगकर्ता के रूप में लॉग इन करने के लिए सूडो अनुमतियों के साथ बस कुछ WinSCP विकल्पों की आवश्यकता होती है: http://cvlive.blogspot.de/2014/03/how-to-login-in-as-ssh-root-user-from.html

सत्र / फ़ाइल प्रोटोकॉल सेट करें: एससीपी, मेजबान / उदाहरण के लिए आईपी दर्ज करें, पोर्ट - आमतौर पर 22, और नियमित उपयोगकर्ता नाम। अगर पासवर्ड की आवश्यकता है तो पासवर्ड क्रेडेंशियल दर्ज करें। उन्नत / SSH / प्रमाणीकरण में उपयोगकर्ता की संबंधित निजी कुंजी फ़ाइल जोड़ें।

उन्नत / SSH / प्रमाणीकरण / प्रयास "कीबोर्ड इंटरेक्टिव" प्रमाणीकरण को अनचेक करने के लिए उन्नत / पर्यावरण / SCP शेल / शेल / शेल: sudo su - की अनुमति देना चाहिए जो गैर-स्वामी उपयोगकर्ता के रूप में वेबसर्वर निर्देशिकाओं तक पहुँचने के लिए sudo अनुमतियाँ प्रदान करे।


अपडेट: 08/03/2017

WinSCP लॉगिंग समस्याओं के निवारण में मददगार हो सकती है।

winscp.net/eng/docs/logging:

[WinSCP] लॉगिंग को वरीयताएँ संवाद के लॉगिंग पृष्ठ से सक्षम किया जा सकता है। लॉगिंग को कमांड-लाइन से क्रमशः / लॉग / और xmllog पैरामीटर का उपयोग करके भी सक्षम किया जा सकता है, जो स्क्रिप्टिंग के साथ विशेष रूप से उपयोगी है। .NET असेंबली में सत्र लॉगिंग Session.SessionLogPath1 का उपयोग करके सक्षम है)।

WinSCP कनेक्शन त्रुटियों के आधार पर, कुछ सर्वर संस्थापनों को एक निर्दिष्ट उपयोगकर्ता के लिए TTY की आवश्यकता नहीं करने के लिए (Ubunto, CentOS, अन्य-लिनक्स-सर्वर) / etc / sudoers फ़ाइल में एक निर्देश जोड़ा जा सकता है। /Etc/sudoers.d/ में फ़ाइल बनाना (अमेज़न कमांड लाइन इंटरफ़ेस या PuTTY जैसे उपकरण का उपयोग करना) संपादन / आदि / sudoers से बेहतर विकल्प हो सकता है। कुछ / etc / sudoers संस्करण इसकी अनुशंसा करते हैं:

इस फाइल को रूट के रूप में 'visudo' कमांड के साथ संपादित किया जाना चाहिए। कृपया इस फ़ाइल को सीधे संशोधित करने के बजाय /etc/sudoers.d/ में स्थानीय सामग्री जोड़ने पर विचार करें। एक sudoers फ़ाइल लिखने के तरीके के विवरण के लिए मैन पेज देखें।

कमांड-लाइन के माध्यम से एक sudoers फ़ाइल (रूट के रूप में) को संपादित करते समय, फ़ाइल को खोलने के लिए 'visudo' कमांड का उपयोग किया जाना चाहिए क्योंकि यह सिंटैक्स त्रुटियों के लिए फ़ाइल को पार्स कर देगा। /etc/sudoers.d/ फाइलें आमतौर पर रूट की होती हैं और न्यूनतम अनुमतियों के साथ chmoded होती हैं। डिफ़ॉल्ट / etc / sudoers फ़ाइल को संदर्भित किया जा सकता है क्योंकि इसे स्वचालित रूप से स्थापना पर chmod अनुमतियों की सिफारिश करनी चाहिए। उदा: 0440 आर - आर -----।

superuser.com/a/869145:

visudo -f /etc/sudoers.d/somefilename

Defaults:username !requiretty 

सहायक लिंक्स:

  • Stackoverflow: stackoverflow.com/questions/25688850/cloud-init-how-to-add-default-user-to-sudoers-d
    • www.digitalocean.com/community/tutorials/how-to-edit-the-sudoers-file-on-ubuntu-and-centos

WinSCP फोरम: - wincp.net/forum/viewtopic.php?t=3046 - wincp.net/forum/viewtopic.php?t=2109

WinSCP डॉक्टर: https://winscp.net/eng/docs/faq_su

SCP प्रोटोकॉल के साथ, आप SCP / उन्नत साइट सेटिंग्स डायल के शेल पेज पर कस्टम शेल के रूप में निम्नलिखित कमांड निर्दिष्ट कर सकते हैं:

सूद- s

[...]

ध्यान दें कि WinSCP टर्मिनल इम्यूलेशन को लागू नहीं कर सकता है, तो आपको sudoers विकल्प की आवश्यकता है जिसे शेट्टी ने बंद कर दिया है।

Ubuntu Apache / etc / sudoers में दिए गए निर्देश सीधे संपादन / etc / sudoers के बजाय /etc/sudoers.d को निर्देश जोड़ने की सलाह देते हैं। स्थापना के आधार पर, /etc/sudoers.d/cloud-init पर निर्देश जोड़ने से भी काम हो सकता है।

यह सुनिश्चित करने के लिए सहायक हो सकता है कि उदाहरण के दस्तावेज़ में दिए गए चरणों का पालन करके sudo अनुमतियों के साथ SSH परीक्षण उपयोगकर्ता को यह सुनिश्चित करने के लिए कि उपयोगकर्ता ने सेटिंग सेटिंग्स की सिफारिश की है और सर्वर sudoer फ़ाइलों के किसी भी अद्यतन को प्रभावित किया जा सकता है और अन्य उपयोगकर्ताओं को प्रभावित किए बिना हटाया जा सकता है।


0

आपको उपयोगकर्ता को लिखने की अनुमति देने की आवश्यकता है, पिछले अनुमतियों का उपयोग करके याद रखें stat /var/www

फिर आप उन्हें बदल सकते हैं sudo chmod 666 /var/wwwऔर बाद में जरूरत पड़ने पर उन्हें बदल सकते हैं ।

अधिक जानकारी के लिए इंटरनेट पर अन्य फ़ाइल अनुमति पुस्तिकाओं के साथ परामर्श करें man chmodऔर man sudo...

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.