SFTP घातक स्वामित्व या चेरोट निर्देशिका ubuntu 12.04 के लिए मोड


12

मैं सिर्फ अपना SFTP सर्वर सेट करता हूं और जब मैं इसे अपने पहले उपयोगकर्ता खाते से उपयोग करता हूं तो यह ठीक काम करता है। मैं एक उपयोगकर्ता जोड़ना चाहता था जिसे हम 'मैगर्प' कहेंगे। सबसे पहले मैंने sshd_config में यह पसंद किया:

Subsystem sftp internal-sftp


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

यह काफी हद तक ठीक काम करता है, उपयोगकर्ता मैग्नेट अपने घर निर्देशिका में चला गया। मैंने इसके बाद एक प्रतीकात्मक लिंक जोड़ने की कोशिश की।

home$ sudo ln -s /home/DUMP/High\ Defenition/ /home/magnarp/"High Defenition"

सिमलिंक ने SSH के माध्यम से ठीक काम किया, लेकिन SFTP पर नहीं।

तो अब मैं जो करना चाहता हूं, वह है चुरोट समूह को sftponly to / home / DUMP और मुझे यह पसंद आया:

Match group sftponly
    ChrootDirectory /home/DUMP
    X11Forwarding no
    AllowTcpForwarding no
    ForceCommand internal-sftp

DUMP फ़ोल्डर में निम्नानुसार अनुमतियाँ हैं।

drwxrwxrwx  5 root     root      4096 aug 18 02:25 DUMP

और यह त्रुटि कोड है:

Aug 18 16:40:29 nixon-01 sshd[7346]: Connection from 192.168.1.198 port 51354
Aug 18 16:40:30 nixon-01 sshd[7346]: Accepted password for magnarp from 192.168.1.198 port 51354 ssh2
Aug 18 16:40:30 nixon-01 sshd[7346]: pam_unix(sshd:session): session opened for user    magnarp by (uid=0)
Aug 18 16:40:30 nixon-01 sshd[7346]: User child is on pid 7467
Aug 18 16:40:30 nixon-01 sshd[7467]: fatal: bad ownership or modes for chroot directory "/home/DUMP"
Aug 18 16:40:30 nixon-01 sshd[7346]: pam_unix(sshd:session): session closed for user magnarp

जवाबों:


21

sshdपैरानोइया का एक निश्चित स्तर होता है जब यह निर्देशिकाओं को चेरोट करने के लिए आता है। मुझे नहीं लगता कि इसे अक्षम किया जा सकता है (यहां तक ​​कि StrictModes no)। चेरोट निर्देशिका और सभी मूल निर्देशिकाओं को ठीक से सेट किया जाना चाहिए :

  1. चेरोट निर्देशिका और उसके सभी माता-पिता के पास समूह या विश्व लिखने की क्षमताएं नहीं होनी चाहिए (अर्थात chmod 755)
  2. चेरोट निर्देशिका और उसके सभी माता-पिता के पास मूल रूप से स्वामित्व होना चाहिए।

आपके मामले में लॉगिन त्रुटि को chmod 755 /home/DUMP आपके स्पष्ट इरादे के साथ तय किया जा सकता है एक विश्व-लेखन योग्य निर्देशिका है जो sftpuser में लॉग इन कर सकता है और हर कोई उस निर्देशिका को एक उपनिर्देशिका बनाकर फ़ाइलों को हल कर सकता है/home/DUMP/


1
एक जादू की तरह काम किया! धन्यवाद। अब मुझे बस सभी उप-निर्देशिकाओं और मेरी एनएफएस प्रणाली को ठीक करना है :)
जोनाथन

0

ए) अगर सिम्लिंक बनाने में मदद मिलेगी, तो चेरोट बनाने में क्या होगा? (कोई भी उपयोगकर्ता एक simlink अपलोड कर सकता है और फिर पूरे फाइल सिस्टम पर पहुँच प्राप्त कर सकता है)

बी) एक और chmod 777 और आप theo ( http://rlv.zcache.com/i_got_flamed_by_the_de_raadt_t_shirt_tshirt-p3535334882872912291en7rf_210.jpg ) से आग बबूला हो जाएंगे । Http://lists.mindrot.org/pipermail/openssh-unix-dev/2010-January/028151.html देखें कि चेरोट निर्देशिका अनुमतियों के बारे में इतना खुला क्यों है।

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