אני מאלה שאוהבים לחדש וללמוד דברים חדשים, לא מזמן הייתי צריך להתקין ולהגדיר שרת FTP והחלטתי לעשות זאת אחרת ממה שתמיד עשיתי.
במקרה הזה בחרתי בשירות FTP עם משתמשים וירטואליים, משתמשים שיאוחסנו בקובץ מוצפן (שם משתמש, סיסמה, הגדרות וכו'), כולם עם Pure FTPd.
כאן אני אראה לך איך לעשות את זה... ובכן, בואו נתחיל
ראשית כל, ציין כי הפקודות במדריך זה מיועדות להפצות כמו דביאן או מבוססות עליהן, אולם אם מישהו משתמש בהפעלה אחרת בשרת שלו עליו להתקין את אותן חבילות ולהשתמש בהגדרות שהוגדרו למטה, הדבר היחיד שצריך לשנות היא פקודת ההתקנה.
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 and Gid 2001 הוא זה של המשתמש שיצרנו, יצרנו אותו עם הפקודה בשלב הקודם 3
7. כדי להפסיק את השירות, פשוט לחצו על [Ctrl]+[C] באותו מסוף, או במסוף אחר בצעו את הפעולות הבאות:
killall pure-ftpd
כעת נציין כי השירות יתחיל אוטומטית עם המערכת עם תחילת השרת, לשם כך אנו משנים את הקובץ /etc/rc.local ולפני השורה האחרונה שאומרת "יציאה 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
…כן כן… כפי שאתה קורא, "הקל", זו פקודה נרחבת כן, אבל היא פשוט מחליפה טקסט בפרל ובהד לא מזיק
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
כל ספק או שאלה אנסה לעזור ככל יכולתי.
ברכות ו ... פריצה שמחה!