ฉันเป็นหนึ่งในคนที่ชอบสร้างสรรค์สิ่งใหม่ ๆ และเรียนรู้สิ่งใหม่ ๆ ไม่นานมานี้ฉันต้องติดตั้งและกำหนดค่าเซิร์ฟเวอร์ FTP และฉันตัดสินใจที่จะทำมันให้แตกต่างจากที่เคยทำ
ในกรณีนี้ ผมเลือกใช้บริการ FTP ที่มีผู้ใช้เสมือน ซึ่งข้อมูลผู้ใช้จะถูกจัดเก็บไว้ในไฟล์ที่เข้ารหัส (ชื่อผู้ใช้ รหัสผ่าน การตั้งค่า ฯลฯ) โดยใช้Pure FTPdทั้งหมด นี้
ฉันจะแสดงให้คุณเห็นว่าต้องทำอย่างไร… เอาล่ะ มาเริ่มกันเลย
ก่อนอื่นระบุว่าคำสั่งในบทช่วยสอนนี้มีไว้สำหรับ distros เช่น Debian หรืออิงตามคำสั่งอย่างไรก็ตามหากมีคนใช้ distro อื่นบนเซิร์ฟเวอร์ของพวกเขาพวกเขาจะต้องติดตั้งแพ็คเกจเดียวกันและใช้การตั้งค่าที่ตั้งไว้ด้านล่างสิ่งเดียวที่ต้องเปลี่ยน คือคำสั่งติดตั้ง
1.ขั้นแรก เราต้องติดตั้ง Pure FTPd ก่อน:
apt-get install pure-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 /: โฟลเดอร์ที่จะเป็นบ้านของผู้ใช้รายนั้นนั่นคือที่ที่พวกเขาจะอัปโหลดสิ่งต่างๆ
เมื่อเข้าสู่บรรทัดก่อนหน้าก็จะถามรหัสผ่านของผู้ใช้คนนั้น
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
กล่าวอีกนัยหนึ่งก็จะมีลักษณะดังนี้:
คุณสามารถแก้ไขไฟล์ด้วย 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
มีข้อสงสัยหรือคำถามใด ๆ ฉันจะพยายามช่วยให้มากที่สุด
ทักทายและ ... แฮ็คแฮ็ค!