एक sftp उपयोगकर्ता पहुँच को / var / www निर्देशिका में प्रदान करना


13

मैंने एक उपयोगकर्ता बनाया है और उसकी होम डायरेक्टरी बनाई है /var/www/mysite/ftpdir

मैंने इस उपयोगकर्ता के लिए sshd_configChrootDirectory के साथ एक मिलान उपयोगकर्ता प्रविष्टि भी जोड़ी है जो इंगित करता है/var/www/mysite

मैं इसे sshलेने के लिए पुनः आरंभ कर चुका हूं ।

जब मैं sftp के साथ लॉग इन करता हूं - उपयोगकर्ता अभी भी उपयोगकर्ता की पुरानी निर्देशिका में जाता है /home/user

मैं क्या खो रहा हूँ?


आप /home/userलक्ष्य के बारे में कैसे सहानुभूति रखते हैं?
ish

जवाबों:


18

यह प्रक्रिया है:

  1. उपयोगकर्ता को समूह में जोड़ें: sudo usermod -aG www blubजैसा कि व्हाट्सएप में फाइल को "/ var / www" एडिट करने और जोड़ने का सबसे सरल तरीका है?

    या बस उपयोग करें sudo adduser <username> www-data

  2. Vsftpd स्थापित करें sudo apt-get install vsftpd
  3. रिमोट एक्सेस के लिए vsftpd कॉन्फ़िगर करें: sudo nano /etc/vsftpd.confऔर फ़ाइल सेट के अंदर

    chroot_local_user=YES
    

    और सुनिश्चित करें कि यह टिप्पणी की गई है:

    #chroot_list_enable=YES
    

    प्रलेखन के अनुसार ।

  4. पुनरारंभ nsftp: sudo service vsftpd restart
  5. उपयोगकर्ता की होम निर्देशिका को वेब निर्देशिका में कॉन्फ़िगर करें (इसमें नहीं /home):

    sudo usermod -d /var/www/mysite/ftpaccessdir <username>
    
  6. कॉन्फ़िगर ssh chroot

    sudo nano /etc/ssh/sshd_config
    

    निम्नलिखित को अंत तक जोड़ें:

    Subsystem  sftp  internal-sftp
    Match user <username>
        ChrootDirectory /var/www/site
        ForceCommand internal-sftp
    AllowTcpForwarding no
    

    और यह सुनिश्चित करें कि इस फाइल में आगे यह टिप्पणी की गई है (यानी आपके द्वारा जोड़े जाने से पहले)

    #Subsystem sftp /usr/lib/openssh/sftp-server
    
  7. पुनः आरंभ करें ssh

    sudo service ssh restart
    
  8. अपाचे के लिए अनुमतियाँ बदलें:

    chown root:root /var/www
    chown root:root /var/www/site
    chmod 755 /var/www
    

    जैसा कि यहाँ डॉक्स में है

  9. सुनिश्चित करें कि आपकी निर्देशिका में www-data का उपयोग है

    sudo chown -R www-data:www-data /var/www/site
    chmod 755 /var/www/site
    

2
मैंने इन निर्देशों का पालन किया है, लेकिन जब मैंने इन पंक्तियों को जोड़ने पर मुझे कनेक्शन देने से इंकार कर दिया, तो सबसिस्टम sftp आंतरिक-sftp मिलान उपयोगकर्ता <यूज़र> ChrootDirectory / var / www / साइट ForceCommand आंतरिक-sftp AllowTppororwarding नहीं
Ata

1
मैं भी Ubuntu 14.04 के साथ एक ही समस्या है
torayeff

मुझे भी यही समस्या है!
मैक्सिमम

4
चरण 9 पर आप कैसे आते हैं, chown root:root /var/www/siteइसे केवल sudo chown -R www-data:www-data /var/www/siteचरण 10 पर वापस लाने के लिए यह जानबूझकर है?
जॉनी क्यू जूल

यह मेरे लिए काम नहीं कर रहा है
लिंग

2

यदि आपको अंत में कनेक्शन अस्वीकृत त्रुटि मिल रही है, तो सुनिश्चित करें कि "UsePAM Yes" के बाद " सबसिस्टम sftp आंतरिक-sftp" जगह है । यदि नहीं तो अद्यतन और पुनः आरंभ ssh और यह काम किया।


0

मेरे पास एक सरल तरीका है और वह मेरे लिए अपाचे का काम करता है।

sudo useradd -d /var/www demo_user -g www-data
sudo passwd demo_user
sudo service ssh restart

यदि आप अभी भी अनुमति समस्या का सामना करते हैं chmodऔर chownअपनी आवश्यकताओं के अनुसार उन्हें संबोधित करते हैं, तो ऐसा ही होता है।

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