Sftp पर प्रतीकात्मक लिंक और फ़ाइलज़िला


15

मैं डेबियन के लिए बहुत नया हूं, और मैं एक सर्वर स्थापित करने की कोशिश कर रहा हूं।

मैंने एक उपयोगकर्ता बनाया है जो केवल अपने फ़ोल्डर /home/username(और इसके उपनिर्देशिका) तक पहुंच सकता है ।

अब मैं उस उपयोगकर्ता को वेबसर्वर के लिए उपयोग करना चाहता हूं जिसे मैंने सेट किया था, और मैंने उसे एक्सेस दिया है, /var/wwwलेकिन मैं /var/wwwsftp के माध्यम से नहीं देख सकता हूं और मैंने इस तरह एक प्रतीकात्मक लिंक किया:

root@server:/home/username# ln -s /var/www www
root@server:/home/username# cd www
root@server:/home/username/www# chown username:username *

अब, filezilla के साथ, मैं www फ़ोल्डर को इस तरह देख सकता हूं:

FileZilla

लेकिन जब मैं इसे खोलने की कोशिश करता हूं, तो मुझे यह मिलता है:

खुला हुआ

मैं क्या गलत कर रहा हूँ?

जवाबों:


22

यह संभावना है कि SFTP को काट दिया जा रहा है, ताकि निर्देशिका / var / www चेरोट जेल में उपयोगकर्ता के लिए उपलब्ध न हो।

में देखें /etc/ssh/sshd_configऔर sftp निर्देशों की जांच करें। क्या आप कुछ इस तरह देखते हैं:

Match group sftp
  ChrootDirectory /home/%u
  AllowTcpForwarding no
  ForceCommand internal-sftp

Sshd_config मैन पेज यहाँ है

मूल रूप से, एक बार जब उपयोगकर्ता /home/usernameSFTP में होता है, तो वह निर्देशिका बन जाती है /और बाहर के संदर्भ /home/usernameउपलब्ध नहीं होते हैं। वास्तव में, आप जिस ln -s /var/www /home/username/wwwतक पहुँचने की कोशिश कर रहे हैं /home/username/var/www(जैसे, /home/usernameअब /ऐसा कोई लिंक है कि संदर्भ /var/wwwभी चुरोट के /home/usernameसंदर्भ में एक उपनिर्देशिका होना चाहिए) जैसा दिखेगा ।

एक समाधान के रूप में, आप चिरोट को बंद कर सकते हैं (लेकिन इसमें अन्य सुरक्षा निहितार्थ होंगे, मुख्य रूप से एसएफटीपी उपयोगकर्ताओं के पास आपके फाइल सिस्टम पर पूरी तरह से लगाम होने का)। आप / var / www का लूप माउंट / होम / यूजरनेम / www (जैसे कुछ के mount --bind /var/www /home/username/wwwलिए अपने दस्तावेज़ की जांच mount) कर सकते हैं, जिसे आपको काम करना चाहिए जैसा कि आप chroot के तहत करना चाहते हैं)। आप उस sshd_config फ़ाइल के साथ भी मेल कर सकते हैं ताकि एक विशेष उपयोगकर्ता को चेरोट से (हालांकि, फिर से, सुरक्षा निहितार्थ के साथ) बाहर कर दिया जा सके।

मैं पहले माउंट को बांधने की कोशिश करूंगा।


2
माउंट के लिए +1 - हिंद चाल!
हेल्ज क्लेन

1
यदि आप चाहते हैं कि यह रिबूट में लगातार बना रहे, तो अपनी /etc/fstabलाइन को संपादित करें जैसे कि/home/username/www /var/www none bind 0 0
pzkpfw

0

मैंने अपने द्वारा बनाए गए सिमलिंक को अनलिंक करने का संकल्प लिया

root@server:/home/username# mkdir www
root@server:/home/username# mount --bind /home/username/www /var/www

(भले ही मैंने सब कुछ खो दिया है / var / www, लेकिन मुझे परवाह नहीं है)

सबको शुक्रीया!


आपने कुछ भी नहीं खोया है। बस रिमूव करने से पहले अपनी फ़ाइलों को अनमाउंट करें और कॉपी करें।
Zoredache

uuuhhh धन्यवाद! मेरे पास लिंक के साथ 1 फाइल के अलावा कुछ भी नहीं था, कुछ भी महत्वपूर्ण नहीं था, लेकिन मैं इसे ठीक करने के लिए पता नहीं लगा सका: D
Doc
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.