วิธีการติดตั้งและกำหนดค่าเซิร์ฟเวอร์ FTP ด้วยผู้ใช้เสมือน Pure-FTPd +

ฉันเป็นหนึ่งในคนที่ชอบสร้างสรรค์สิ่งใหม่ ๆ และเรียนรู้สิ่งใหม่ ๆ ไม่นานมานี้ฉันต้องติดตั้งและกำหนดค่าเซิร์ฟเวอร์ FTP และฉันตัดสินใจที่จะทำมันให้แตกต่างจากที่เคยทำ

ในกรณีนี้ฉันเลือกใช้บริการ FTP กับผู้ใช้เสมือนผู้ใช้ที่จะถูกเก็บไว้ในไฟล์ที่เข้ารหัส (ผู้ใช้รหัสผ่านการตั้งค่า ฯลฯ ) ทั้งหมดนี้มี FTPd บริสุทธิ์.

ฉันจะแสดงวิธีการทำ ... เอาล่ะมาเริ่มกันเลย😉

ก่อนอื่นระบุว่าคำสั่งในบทช่วยสอนนี้มีไว้สำหรับ distros เช่น Debian หรืออิงตามคำสั่งอย่างไรก็ตามหากมีคนใช้ distro อื่นบนเซิร์ฟเวอร์ของพวกเขาพวกเขาจะต้องติดตั้งแพ็คเกจเดียวกันและใช้การตั้งค่าที่ตั้งไว้ด้านล่างสิ่งเดียวที่ต้องเปลี่ยน คือคำสั่งติดตั้ง

คำสั่งทั้งหมดที่จะอ่านจะดำเนินการในรูปแบบรูทหากต้องการคุณสามารถเติม "sudo" ไว้ข้างหน้าแต่ละบรรทัดได้

1. ก่อนอื่นเราต้องติดตั้ง Pure FTPd:

apt-get install pure-ftpd

ผลลัพธ์จะจบลงดังนี้:

การติดตั้งที่บริสุทธิ์ ftpd

2. บริการถูกเปิดใช้งานแล้ว แต่จะไม่มีประโยชน์หากเราไม่ได้กำหนดค่าอย่างถูกต้องให้ใส่ไฟล์กำหนดค่าที่ครอบคลุม แต่เกือบจะเป็นมาตรฐานซึ่งมีการระบุว่าผู้ใช้ที่ไม่ระบุชื่อไม่ได้รับอนุญาต ฯลฯ เป็นต้น

cd /etc/pure-ftpd/ && wget http://ftp.desdelinux.net/pure-ftpd.conf

3. สมมติว่าโฟลเดอร์ FTP ของเราคือ / var / www / ftp / และเราต้องการสร้างผู้ใช้ที่สามารถอัปโหลดข้อมูลไปยังโฟลเดอร์ / var / www / ftp / sysadmin / ให้ใส่สิ่งต่อไปนี้ในเทอร์มินัล:

pure-pw useradd sysadmin -u 2001 -g 2001 -d /var/www/ftp/sysadmin/

ซึ่งหมายถึงสิ่งต่อไปนี้:

pure-pw: คำสั่งที่ใช้เพื่อจัดการกับผู้ใช้ Pure-FTPd
useradd: เราระบุว่าเราจะเพิ่มผู้ใช้
sysadmin: ผู้ใช้ที่ฉันต้องการสร้าง
-u 2001: UserID ของผู้ใช้นั้น
-g 2001: GroupID ของผู้ใช้นั้น
-d / var / www / ftp / sysadmin /: โฟลเดอร์ที่จะเป็นบ้านของผู้ใช้รายนั้นนั่นคือที่ที่พวกเขาจะอัปโหลดสิ่งต่างๆ

เมื่อเข้าสู่บรรทัดก่อนหน้าก็จะถามรหัสผ่านของผู้ใช้คนนั้น

พวกเขาต้องสร้างโฟลเดอร์ sysadmin ไว้ก่อนหน้านี้ภายใน / var / www / ftp /

4. ตอนนี้พวกเขาต้องรีเฟรชไฟล์ฐานข้อมูลผู้ใช้สำหรับสิ่งนี้เราเข้าสู่โฟลเดอร์ / etc / pure-ftpd / (cd / etc / pure-ftpd) และใส่ในเทอร์มินัล:

pure-pw mkdb

5. ตอนนี้เราต้องเริ่ม Pure-FTPd แต่ระบุว่าเราจะใช้ไฟล์ผู้ใช้เสมือนก่อนอื่นให้หยุดบริการ:

/etc/init.d/pure-ftpd stop

จากนั้นเราจะตรวจสอบให้แน่ใจว่าจะไม่เริ่มตามค่าเริ่มต้นตามปกติ:

chmod -x /etc/init.d/pure-ftpd

และตอนนี้เราเริ่มให้บริการในแบบของเรา:

/usr/sbin/pure-ftpd -j -lpuredb:/etc/pure-ftpd/pureftpd.pdb

6. หากพวกเขาลองใช้แอปพลิเคชันเช่น Filezilla พวกเขาจะเห็นว่าสามารถเชื่อมต่อได้โดยไม่มีปัญหากับผู้ใช้ที่สร้างขึ้นอย่างไรก็ตามพวกเขาจะไม่สามารถคัดลอกหรือสร้างไดเรกทอรีใด ๆ ได้เนื่องจากโฟลเดอร์ / var / www / ftp / sysadmin / (บ้านของผู้ใช้ ตามตัวอย่าง) ไม่มีสิทธิ์ที่เหมาะสมจะได้รับการแก้ไขด้วย:

chown -R 2001:2001 /var/www/ftp/sysadmin/

โปรดจำไว้ว่า Uid และ Gid 2001 เป็นหนึ่งในผู้ใช้ที่เราสร้างขึ้นเราสร้างขึ้นด้วยคำสั่งในขั้นตอนก่อนหน้า 3 😉

7. หากต้องการหยุดบริการเพียงกด [Ctrl] + [C] ในเทอร์มินัลเดียวกันหรือทำ:

killall pure-ftpd

ตอนนี้เราจะระบุว่าบริการจะเริ่มต้นโดยอัตโนมัติพร้อมกับระบบเมื่อเซิร์ฟเวอร์เริ่มทำงานสำหรับสิ่งนี้เราแก้ไขไฟล์ /etc/rc.local และก่อนบรรทัดสุดท้ายที่ระบุว่า "exit 0" เราใส่คำสั่งที่เราเริ่มบริการ FTP:

/usr/sbin/pure-ftpd -j -lpuredb:/etc/pure-ftpd/pureftpd.pdb

กล่าวอีกนัยหนึ่งก็จะมีลักษณะดังนี้:

rc- ท้องถิ่นบริสุทธิ์ ftpd

คุณสามารถแก้ไขไฟล์ด้วย nano, vi หรือโปรแกรมแก้ไขที่คุณต้องการหรือหากต้องการให้คัดลอกและวางคำสั่งนี้ซึ่งจะทำให้งานของคุณง่ายขึ้น:

perl -pi -e "s[exit 0][/usr/sbin/pure-ftpd -j -lpuredb:/etc/pure-ftpd/pureftpd.pdb]g" /etc/rc.local && echo "exit 0" >> /etc/rc.local

... ใช่ใช่ ... ตามที่คุณอ่าน«อำนวยความสะดวก»มันเป็นคำสั่งที่ครอบคลุมใช่ แต่เพียงแค่แทนที่ข้อความด้วย perl และเสียงสะท้อนที่ไม่เป็นอันตราย🙂

8. เมื่อเสร็จแล้วให้รีสตาร์ทเซิร์ฟเวอร์และคุณจะเห็นว่าบริการ pure-ftpd เริ่มต้นและพร้อมที่จะทำงาน😀

จะลบผู้ใช้ได้อย่างไร?

อย่างที่ฉันบอกคุณไปก่อนหน้านี้คำสั่ง บริสุทธิ์ pw คือสิ่งที่เราต้องจัดการกับผู้ใช้ในการลบผู้ใช้ (เช่น sysadmin) ให้ใส่สิ่งต่อไปนี้:

cd /etc/pure-ftpd/
pure-pw userdel sysadmin
pure-pw mkdb

โปรดจำไว้ว่าเมื่อใดก็ตามที่คุณทำการเปลี่ยนแปลงกับผู้ใช้คุณต้องสร้างไฟล์ฐานข้อมูลเสมือนของผู้ใช้ขึ้นมาใหม่โดยจะอยู่ใน / etc / pure-ftpd / และถูกสร้าง / อัพเดตด้วย pure-pw mkdb

ยังไงเพื่อน ๆ ก็คิดว่าไม่มีอะไรให้เพิ่มอีกแล้วขอเชิญคุณอ่านความช่วยเหลือของ pure-pw เพราะมันช่วยให้เราได้มากกว่าที่ฉันแสดงให้คุณเห็นที่นี่ (นี่เป็นเพียงการสอนสั้น ๆ และเกือบจะเป็นพื้นฐาน)

หนึ่งหรือสองปีที่ผ่านมาฉันเป็นหนึ่งในผู้ที่เชื่อมโยงทุกอย่างกับ OpenLDAP หรือ MySQL แต่เมื่อเวลาผ่านไปฉันตระหนักว่าการเชื่อมต่อกับฐานข้อมูลที่เป็นเซิร์ฟเวอร์จำนวนมากทำให้เกิดการบริโภคที่หลายครั้งเราไม่สามารถจ่ายได้ ด้วยเหตุนี้การใช้ทางเลือกที่เป็นไปได้อย่างสมบูรณ์เช่นการใช้ฐานข้อมูลในไฟล์ของแอปพลิเคชันเช่นในกรณีของ. pdb 🙂ของ Pure-FTPd

มีข้อสงสัยหรือคำถามใด ๆ ฉันจะพยายามช่วยให้มากที่สุด

ทักทายและ ... แฮ็คแฮ็ค!


แสดงความคิดเห็นของคุณ

อีเมล์ของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องการถูกทำเครื่องหมายด้วย *

*

*

  1. ผู้รับผิดชอบข้อมูล: Miguel ÁngelGatón
  2. วัตถุประสงค์ของข้อมูล: ควบคุมสแปมการจัดการความคิดเห็น
  3. ถูกต้องตามกฎหมาย: ความยินยอมของคุณ
  4. การสื่อสารข้อมูล: ข้อมูลจะไม่ถูกสื่อสารไปยังบุคคลที่สามยกเว้นตามข้อผูกพันทางกฎหมาย
  5. การจัดเก็บข้อมูล: ฐานข้อมูลที่โฮสต์โดย Occentus Networks (EU)
  6. สิทธิ์: คุณสามารถ จำกัด กู้คืนและลบข้อมูลของคุณได้ตลอดเวลา

  1.   Elav dijo

    ว่า .. เอกสารประกอบกรณีผิดพลาด😀

    1.    KZKG ^ กาอาระ dijo

      และฉันกำลังเขียนโพสต์เกี่ยวกับวิธีการติดตั้ง Nginx + MySQL + Spawn_FastCGI เหมือนที่ฉันทำใน Justice และต้องขอบคุณที่บล็อกทำงานได้ดี :)

      ฉันหวังว่าจะพร้อมสำหรับวันพรุ่งนี้หรือมะรืนนี้

  2.   Rodolfo dijo

    โพสต์ที่ดี; มันตลกดีเมื่อเร็ว ๆ นี้ฉันกำลังดิ้นรนเพื่อวางเซิร์ฟเวอร์ ftp ของฉันแม้ว่าฉันจะทำไม่ได้กับ vsftpd และฉันก็ไปที่ ftpd บริสุทธิ์และเดินไปที่สิ่งที่ฉันคิดว่าฉันพลาดไปคือการใส่ตัวอย่างของ conf ที่ชัดเจนเอกสารนั้นดีมาก แต่อย่างน้อยพื้นฐาน . การเข้ารหัสหรืออย่างน้อยก็คือใช้พอร์ต forwading ในกรณีที่ใช้เราเตอร์
    อย่างไรก็ตามด้วยคำสั่งนี้ pure-ftp ที่ช่วยให้คุณรู้ว่าใครเชื่อมต่อกับเซิร์ฟเวอร์และหากมีบางสิ่งกำลังดาวน์โหลด
    และตามที่คุณระบุการวางฐานข้อมูลเพื่อเชื่อมต่อกับเซิร์ฟเวอร์นั้นไม่จำเป็น

    1.    KZKG ^ กาอาระ dijo

      ขอบคุณสำหรับความคิดเห็น🙂

      ใช่ฉันต้องอธิบายหลาย ๆ อย่าง (ทั้งหมดในความเป็นจริง) ในการกำหนดค่าฉันคิดว่ามีคนที่รู้วิธีจัดการเซิร์ฟเวอร์ที่ต้องการติดตั้งบริการ FTP ว่าใครบางคนจะไม่มีปัญหาใหญ่ในการอ่านความคิดเห็นของไฟล์ conf ^ - ^

      ทักทายและอีกครั้งขอบคุณสำหรับความคิดเห็น

  3.   ทาฮูริ dijo

    สวัสดีโพสต์ที่ดีมากฉันใช้ (หรืออย่างน้อยก็ในตอนนี้) vsftpd แต่ฉันมีปัญหากับมันและฉันต้องการดูว่าฉันเกิดเหตุการณ์นี้ขึ้นหรือไม่คุณมี url หรือเอกสารเพื่อดูว่าการกำหนดค่าเป็นอย่างไร

    ขอบคุณมาก };)

    1.    KZKG ^ กาอาระ dijo

      คุณสามารถดูการกำหนดค่าได้ที่นี่: http://ftp.desdelinux.net/pure-ftpd.conf
      คำถามใด ๆ หรือหากคุณต้องการบางสิ่งบางอย่างเปิดกระทู้ในฟอรัมที่เรายินดีจะช่วยเหลือคุณ🙂

  4.   อะเทยูส dijo

    ดีมาก😀

    เพียงเล็กน้อยคำสั่ง perl ไม่มีสัญลักษณ์ ^ ดังนั้นจึงไม่เปลี่ยนทางออก 0 อื่น ๆ ที่อยู่ในความคิดเห็น:

    perl -pi -e "s[^exit 0][/usr/sbin/pure-ftpd -j -lpuredb:/etc/pure-ftpd/pureftpd.pdb]g" rc.local && echo "exit 0" >> rc.local

    ความนับถือ

  5.   โอมาร์ dijo

    ยอดเยี่ยมฉันมีคำถามฉันจะสร้างผู้ใช้แบบอ่านอย่างเดียวได้อย่างไร ฉันใช้ Centos 6.5, pureftpd, ispconfig และโหมดกราฟิก

    ฉันใช้ ispconfig สำหรับ ftp เท่านั้น

    ทักทายและขอบคุณ

  6.   Monzon dijo

    วิธีการติดตั้ง pureftp นี้เป็น ASCO ที่คุณปล่อยให้บริการทำงานเป็นรูทสร้างผู้ใช้เสมือนจากนั้นเปลี่ยนสิทธิ์ในระบบไฟล์และใช้เวลานานเป็นต้น วิธีติดตั้งแพคเกจพร้อมใช้งานไม่จำเป็นต้องทำตามขั้นตอนเหล่านี้ทั้งหมด

    1.    Elav dijo

      คุณได้รับเชิญให้เผยแพร่คู่มือ "น่าขยะแขยง" น้อย .. ..

    2.    Sedlav dijo

      คุณเสนออะไร วางเซิร์ฟเวอร์ ftp เพื่อฟังบนพอร์ต> 1024? หากเซิร์ฟเวอร์ ftp กำลังรับฟังบนพอร์ตมาตรฐาน: 22 จะต้องรันในฐานะรูทเว้นแต่คุณจะแก้ไขความสามารถของเคอร์เนลหากคุณต้องการปรับปรุงความปลอดภัยให้ใช้กรอบงาน MAC กับ SELinux ตัวแปรอื่นคือการคุก / chroot เซิร์ฟเวอร์ ftp.

  7.   Ll Tailor dijo

    ลิงก์สำหรับ pure-ftpd.conf ไม่ทำงานหรือไม่มีอยู่ เรียกคืนได้ไหม
    กราเซีย

  8.   Attachments dijo

    2 ปีต่อมาลิงก์ไปยังไฟล์ pure-ftpd.conf ยังคงใช้งานไม่ได้🙁