כיצד להתקין ולהגדיר שרת FTP עם משתמשים וירטואליים Pure-FTPd +

אני מאלה שאוהבים לחדש וללמוד דברים חדשים, לא מזמן הייתי צריך להתקין ולהגדיר שרת FTP והחלטתי לעשות זאת אחרת ממה שתמיד עשיתי.

במקרה זה בחרתי בשירות FTP עם משתמשים וירטואליים, משתמשים אשר יאוחסנו בקובץ מוצפן (משתמש, סיסמה, הגדרות וכו '), כולם עם FTPd טהור.

כאן אני אראה לך איך לעשות את זה ... טוב, בוא נתחיל 😉

ראשית כל, ציין כי הפקודות במדריך זה מיועדות להפצות כמו דביאן או מבוססות עליהן, אולם אם מישהו משתמש בהפעלה אחרת בשרת שלו עליו להתקין את אותן חבילות ולהשתמש בהגדרות שהוגדרו למטה, הדבר היחיד שצריך לשנות היא פקודת ההתקנה.

כל הפקודות שהם יקראו יבוצעו כשורש, אם תרצה שתוכל להוסיף "סודו" לכל שורה.

1. ראשית עלינו להתקין FTPd טהור:

apt-get install pure-ftpd

הפלט יסתיים בערך כך:

התקנת- 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 /: התיקיה שתהיה הבית של אותו משתמש, כלומר לאן הם יעלו דברים

כשאתה נכנס לשורה הקודמת, הוא יבקש ממך את הסיסמה של אותו משתמש.

הם בטח יצרו בעבר את תיקיית 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 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

במילים אחרות, זה ייראה כך:

rc-local-pure-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

... כן כן ... כפי שאתה קורא, "להקל", זו פקודה מקיפה כן, אבל זה פשוט להחליף טקסט בפרל והד לא מזיק 🙂

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 🙂

כל ספק או שאלה אנסה לעזור ככל יכולתי.

ברכות ו ... פריצה שמחה!


תוכן המאמר עומד בעקרונותינו של אתיקה עריכתית. כדי לדווח על שגיאה לחץ כאן.

13 תגובות, השאר את שלך

השאירו את התגובה שלכם

כתובת הדוא"ל שלך לא תפורסם. שדות חובה מסומנים *

*

*

  1. אחראי לנתונים: מיגל אנחל גטון
  2. מטרת הנתונים: בקרת ספאם, ניהול תגובות.
  3. לגיטימציה: הסכמתך
  4. מסירת הנתונים: הנתונים לא יועברו לצדדים שלישיים אלא בהתחייבות חוקית.
  5. אחסון נתונים: מסד נתונים המתארח על ידי Occentus Networks (EU)
  6. זכויות: בכל עת תוכל להגביל, לשחזר ולמחוק את המידע שלך.

  1.   אלב דיג'ו

    זה ש .. תיעוד במקרה של שגיאות 😀

    1.    KZKG ^ גאארה דיג'ו

      ואני כבר כותב את הפוסט על אופן ההתקנה של Nginx + MySQL + Spawn_FastCGI כמו שעשיתי בצדק, ובזכות זה הבלוג עובד כל כך טוב :)

      אני מקווה שיהיה מוכן למחר או למחרתיים.

  2.   רודולפו דיג'ו

    פוסט טוב; זה מצחיק, לאחרונה התאמצתי לשים את שרת ה- ftp שלי אפילו לא יכולתי עם vsftpd והלכתי ל- pure-ftpd ומה אם אני חושב שאני צריך זה לתת דוגמא ל conf ברורה שהתיעוד טוב מאוד, אבל לפחות היסודות . הצפנה, או לפחות יציאת ההנעה למקרה שמשתמשים בנתב.
    דרך אגב עם פקודה זו pure-ftpwho מאפשר לך לדעת מי מחובר לשרת, ואם משהו מוריד;).
    ולדבריך, הצבת מסד נתונים לחיבור לשרת אינה כה הכרחית.

    1.    KZKG ^ גאארה דיג'ו

      תודה על התגובה 🙂

      כן, לא הסברתי הרבה דברים (למעשה) בתצורה, זה שהנחתי שמי שיודע לנהל שרת, שרוצה להתקין שירות FTP, שמישהו לא יתקל בבעיות גדולות בקריאת התגובות של קובץ ה- conf ^ - ^

      ברכות ושוב, תודה על ההערה

  3.   טהורי דיג'ו

    שלום פוסט טוב מאוד, אני משתמש (או לפחות בינתיים) ב- vsftpd אבל יש לי כמה בעיות עם זה, ורציתי לראות אם קרה לי לזה, האם יש לך כתובת אתר או מסמך כלשהו כדי לראות איך התצורה שלו היא?

    תודה רבה };)

    1.    KZKG ^ גאארה דיג'ו

      אתה יכול לראות את התצורה כאן: http://ftp.desdelinux.net/pure-ftpd.conf
      בכל שאלה או אם אתם זקוקים למשהו פתחו שרשור בפורום שנעזור לכם בשמחה 🙂

  4.   אתאוס דיג'ו

    טוב מאוד 😀

    רק דבר אחד קטן, בפקודה perl חסר הסמל ^, כך שהוא לא משנה את היציאה השנייה שנמצאת בתגובות:

    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.   עומר דיג'ו

    מצוין, יש לי רק שאלה, איך אוכל ליצור משתמש לקריאה בלבד? אני משתמש בסנטוס 6.5, pureftpd, ispconfig ומצב גרפי.

    אני משתמש ב- ispconfig רק עבור ftp

    ברכות ותודה

  6.   מוּנסוֹן דיג'ו

    דרך זו של התקנת pureftp היא ASCO 🙂 אתה משאיר את השירות פועל כשורש, יוצר משתמש וירטואלי ואז משנה את ההרשאות במערכת הקבצים, ומעלה זמן רב וכו '. אופן התקנת החבילה מוכן לשימוש, אין צורך לבצע את כל השלבים הללו

    1.    אלב דיג'ו

      אתם מוזמנים לפרסם מדריך פחות "מגעיל" .. 😉

    2.    סדלב דיג'ו

      מה את מציעה? שים את שרת ה- ftp כדי להאזין ליציאה> 1024? אם שרת ה- ftp מאזין ליציאה הסטנדרטית שלו: 22 עליו להריץ כשורש אלא אם כן תשנה את יכולות הליבה, אם ברצונך לשפר את האבטחה השתמש במסגרת MAC עם SELinux וריאנט אחר יהיה לכלא / לשרוט את השרת ftp.

  7.   Ll חייט דיג'ו

    הקישור ל- pure-ftpd.conf למטה או לא קיים. אתה יכול לשחזר אותו?
    תודה

  8.   קבצים מצורפים דיג'ו

    כעבור שנתיים הקישור לקובץ pure-ftpd.conf עדיין למטה 🙁