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

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

ในกรณีนี้ ผมเลือกใช้บริการ FTP ที่มีผู้ใช้เสมือน ซึ่งข้อมูลผู้ใช้จะถูกจัดเก็บไว้ในไฟล์ที่เข้ารหัส (ชื่อผู้ใช้ รหัสผ่าน การตั้งค่า ฯลฯ) โดยใช้Pure 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 เริ่มทำงานและพร้อมใช้งานแล้ว 

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

อย่างที่ผมได้กล่าวไปแล้ว คำสั่ง pure-pwคือคำสั่งที่เราต้องการใช้ในการจัดการผู้ใช้ หากต้องการลบผู้ใช้ (เช่น sysadmin) เราจะใช้คำสั่งต่อไปนี้:

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

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

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

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

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

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


เพิ่มเป็นแหล่งข้อมูลที่ต้องการใน Google