HowTo: שירות FTP באמצעות מסד נתונים MySQL

למרות חוסר וודאות שעשוי להקיף את MySQL, באופן אישי אני עדיין מעדיף לעבוד עם DB זה על פני שימוש אחר. אין לי שום דבר נגד Postgre, פשוט השתמשתי ב- MySQL לכל החיים, ועד עכשיו לא הייתה לי שום סיבה לחשוב מחדש על השימוש בו.

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

למה זה ככה?

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

כדי להשיג זאת נשתמש Pure-FTPd, טוב ... בוא נתחיל 🙂

התקנת שירות FTP באמצעות Pure-FTPd

1. הדבר הראשון לעשות הוא להתקין את החבילה: pure-ftpd-mysql

בהפצות כמו דביאן או נגזרות: aptitude להתקין pure-ftpd-mysql

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

/etc/init.d/pure-ftpd-mysql stop

עם זאת, אני משאיר לך קו שיעצור את השירות ללא קשר להפצה שבה אתה משתמש:

ps ax | grep pure | grep -v grep | awk '{print $1}' | xargs kill

אם אתה רוצה להבין את השורה הזו בפירוט, קרא המאמר הזה

הכנת תנאים בשרת MySQL

כבר לפני זמן לא רב הסברתי כיצד ליצור מסד נתונים, משתמש ולתת הרשאות לאותו משתמש במסד הנתונים: משתמשים והרשאות ב- MySQL

בוא נעבור למה נעשה כאן? ...

1. ניצור מסד נתונים כן, אך תחילה ניגש ל- MySQL:

mysql -u root -p

כאן הם מכניסים את סיסמת השורש והם ייגשו למסוף MySQL.

2. ברגע שנכנס ל- MySQL אנו ממשיכים ליצור את מסד הנתונים myftpdb:

CREATE DATABASE myftpdb;

שימו לב לחצי נקודה-פסיק «;»בסוף התור.

3. כעת ניצור את המשתמש myftpuser ונתן הרשאות להשתמש במשתמש במסד הנתונים שיצרנו זה עתה, למשתמש זה תהיה סיסמא myftppassword:

CREATE USER 'myftpuser'@'localhost' IDENTIFIED BY 'myftppassword';
GRANT ALL PRIVILEGES ON myftpdb.* TO 'myftpuser'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES ;

4. מוכן, יצרנו את מסד הנתונים, את המשתמש והגדרנו את ההרשאות. כעת עלינו לייבא את מסד הנתונים המוגדר כברירת מחדל (או נקי) כדי שיהיה שלם. לשם כך, תחילה נצא מ- MySQL:

exit;

עכשיו בואו להוריד את מסד הנתונים המוגדר כברירת מחדל שאני מציע לך:

הורד את DB כברירת מחדל

או בשרת השתמש בשורה הבאה:

wget http://ftp.desdelinux.net/myftpdb.sql

מוכן, כבר יש לנו את זה בשרת שלנו, עכשיו נותר רק לייבא את הנתונים שלך:

mysql -u root -p myftpdb < myftpdb.sql

ומוכן!

הם יכולים גם להשתמש ביישום אינטרנט כלשהו כמו מנהל o Phpmyadmin כדי לייבא את מסד הנתונים, אני משאיר אותו לפי הטעם.

5. וכל זה כדי שיהיו מוכנים התנאים של MySQL.

קישור FTP עם MySQL

ובכן, כבר מותקן שירות FTP, שירות MySQL מותקן ועם קבוצת הנתונים שלנו ... עכשיו אנחנו רק צריכים, הצטרף לשירות FTP עם MySQL.

1. ראשית עלינו להוריד את קובץ התצורה בו נשתמש עבור האמור לעיל. במסוף השרת בואו נשים את השורה הבאה:

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

2. כעת אנו מתחילים את שירות ה- FTP המורה לו להשתמש בו לאימות משתמשי MySQL, ונציין גם באיזה קובץ תצורה להשתמש בכדי להתחבר ל- MySQL:

pure-ftpd-mysql -l mysql:/etc/pure-ftpd/pure-ftpd-mysql.conf

וואלה 😀

זה מספיק כדי להתקין שרת FTP משלנו מאמת באמצעות מסד נתונים של MySQL.

אם אתה רוצה שבכל פעם שהשרת יתחיל אוטומטית הוא יפעיל את שירות ה- FTP, עליך להכניס את הקובץ /etc/rc.local את הקו שאנו משתמשים כדי להפעיל את ה- FTP, כלומר, אנחנו מכניסים /etc/rc.local זֶה:

pure-ftpd-mysql -l mysql:/etc/pure-ftpd/pure-ftpd-mysql.conf

אגב, אתה יכול לגשת ל- FTP באמצעות כל דפדפן, כמו גם לקוחות FTP כמו Filezilla ... ולא רק זאת, באמצעות דפדפני קבצים כמו Nautilus, Dolphin או PCManFM אתה יכול גם להוריד ולהעלות קבצים 😀

בדוק משתמש שנמצא במסד הנתונים

שם משתמש: testuser

סיסמה: סיסמת מבחן

כיצד לנהל משתמשי FTP?

ובכן, בהתחשב בכך שמדובר במסד נתונים של MySQL, כפי שאמרתי לעיל ... השימוש ב- PHPMyAdmin או ב- Adminer יספיק. פשוט השתמש ביישום המועדף עליך לניהול מסד הנתונים, המכיל טבלה אחת: משתמשים ... ובתוכו המשתמשים, הנה צילום מסך:

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

ובכן ... שום דבר נוסף להוסיף 🙂

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

לגבי

PD: במדריך זה אנו משתמשים בסיסמאות שנשמרו בבסיס הנתונים בטקסט רגיל, אם אתה רוצה יותר אבטחה אני ממליץ לך לנסות md5 😉


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

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

*

*

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

  1.   LiGNUxer דיג'ו

    טוב מאוד!!! לפני כמה שבועות התקנתי את זה אבל עם vsftpd ואני לא משוכנע ולכן אני אנסה זאת כדי לראות איך זה. תודה

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

      חבר תודה.
      vsftpd אני לא זוכר מתי בפעם האחרונה השתמשתי בו ... לפני כמה שנים, ... אם פעם השתמשתי בו HAHA. כרגע עם PureFTPd אני יותר משמח 😀

  2.   תָקִין דיג'ו

    תרומה טובה מאוד!

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

      תודה compa 😀
      אתה עושה מה שאתה יכול חח ...

  3.   שומר מחשבים דיג'ו

    Uuumm, מעניין ... תעביר לי את ה- IP של ה- DB שאני רוצה שיהיה אוסף המשתמשים והסיסמאות בהישג יד 😉

    אל תהיה רשע, בנאדם

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

      לא הבנתי hehehe ... על איזה IP ו- DB אתה מדבר?
      אם אתה מתכוון שהנתונים האלה ששמתי במדריך יכולים להיות גם בשרת, כן שם אתה צודק ... הם נמצאים בשירות FTP במחשב וירטואלי במחשב הנייד שלי, יש לו חומת אש טובה מאוד (iptables) אז ... HAHAHAHAHA כמובן אל תהיה מרושע LOL !!!

  4.   שומר מחשבים דיג'ו

    Joroña איזה Joroña .... זה יהיה מסובך יותר מכפי שנראה לנצל פגיעות מסוימת וללכוד את הנתונים 😉

  5.   אלגבה דיג'ו

    מעניין מאוד!! 🙂

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

      תודה
      זה מה שאני מנסה להבדיל בינינו לבין שאר האתרים ... שאנחנו מנסים להכניס לא כל כך הרבה חדשות אלא כמאמרים טכניים 😀

  6.   גיסקארד דיג'ו

    כמה מהר זה בהשוואה לסמבה? (רשת מקומית בלבד)

    1.    LiGNUxer דיג'ו

      שסמבה ו- ftp הם 2 דברים שונים, ftp הוא פרוטוקול רציני ו- smb רק כדי להקל על השיתוף בין win ו- linux.
      אם אתם מחפשים ביצועים ברשת, השתמשו בשירות FTP, אחרת השתמשו בסמבה רק בלי בעיות

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

        מְדוּיָק.
        בוא נגיד ש- FTP הוא קצת יותר רציני מסמבה, לפחות לדעתי זה כן.

        לא עשיתי שום אמות מידה בכלל, אבל אולי FTP הוא קצת יותר מהיר.

        1.    גיסקארד דיג'ו

          תודה. אני משתמש בסמבה כך שמקונסולת ה- Wii שלי (באמצעות wiimc) אוכל לצפות בסרטים וסדרות שאני מוריד למחשב שלי. אבל wiimc יכול גם להתחבר לשרת ftp. השתמשתי בסמבה כי זה היה הכי קל, אבל תמיד הסתקרנתי אם זה יהיה מהיר יותר עם ftp. אצטרך לנסות.

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

            ובכן, אתה יכול פשוט להרכיב את אפאצ'י במחשב האישי שלך, וכך ה- Wii יתחבר, זה חייב להיות מהיר יותר מסמבה ... והרבה יותר פשוט להגדיר מאשר FTP 😀

          2.    גיסקארד דיג'ו

            ה- wiimc (נגן מדיה Wii) מקבל חיבורי סמבה ו- FTP בלבד.

  7.   מקס פלדה דיג'ו

    מְעוּלֶה. אתה רק צריך משהו לסוגי המאמרים האלה (ולאתר בכלל) כדי להפוך את הכל למושלם; תבנית CSS כדי להיות מסוגל להדפיס את המאמרים ל- PDF או על נייר.

  8.   LiGNUxer דיג'ו

    אני לא יודע אם זה יהיה שלי, אבל הבעיה הגדולה בכך היא שמשתמשים יכולים לעבור בכל הספריות גם אם אתן להם ספרייה ספציפית כמו "/ var / www / user_site" אם הם מתחברים באמצעות ftp הם יש גישה לכל מקום מהמחשב שלי ¬¬
    זה לא מאוד בטוח haha

  9.   LiGNUxer דיג'ו

    הנה זה!!!
    כדי למנוע מהמשתמשים שאנחנו יוצרים אפשרות לנווט בכל המערכת שלנו, עלינו להוסיף את הפרמטר "-A" בעת השקת הטהור ...

    אז מה שאנחנו מוסיפים ל- /etc/rc.local שאתה מכניס להדרכה זה
    טהור-ftpd-mysql -l mysql: /etc/pure-ftpd/pure-ftpd-mysql.conf

    ועליך להחליף אותו באחר זה:
    טהור-ftpd-mysql -A -l mysql: /etc/pure-ftpd/pure-ftpd-mysql.conf

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

    D: זה טהור fptd חמוד

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

      תודה על הטיפ 😀

  10.   רוברטו דיג'ו

    שלום, אפשר ליישם מכסות ביישום MySQL ו- FTP הזה, כרגע יש לי שרת ftp עם vsftpd ואין לי שום בעיה עם המכסות, אבל להיות משתמש וירטואלי (שנוצר ב- mysql) האם המכסות יהיו תקפות? והשני הוא המקום בו מאוחסנים הקבצים שהועלו על ידי משתמשים, כלומר, הם הספריות של כל משתמש.

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

      בתיאוריה, אתה יכול ליישם מכסות, למעשה במאגר המידע נוצרו השדות עבורו, ובקובץ התצורה של שירות FTP הוגדרו השאילתות לכך, שלמעשה לא בדקתי זאת

      על המקום בו המשתמשים היו מציבים את הקבצים, אתה מגדיר אותו בשדה החמישי, ראה צילום המסך: https://blog.desdelinux.net/wp-content/uploads/2012/09/phpmyadmin-screenshot-nuevo-usuario.jpg

  11.   רוברטו דיג'ו

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

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

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

  12.   רוברטו דיג'ו

    יש לי שאלה, כבר הצלחתי להתקין pure-ftp עם mysql ומכסות, הבעיה עכשיו היא כיצד אוכל להשעות חשבון מטבלת mysql עצמה, מבלי לשנות את סיסמת המשתמש שלו או להעלות קבצים.

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

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

  13.   בירקהוף דיג'ו

    רוברטו, איך הצלחת לקבוע את העמלות באמצעות מתקן זה? אנא שתף ​​את המידע.
    כניסה טובה מאוד !!

    1.    רוברטו סוטלו דיג'ו

      בירקהוף, רק בבלוג האישי שלי יצרתי נושא על כך, אני משאיר לך את הקישור לסקירה:

      http://aprendelinux.net/instalar-servidor-ftp-pure-ftp-con-cuentas-virtuales-en-mysql/

  14.   קלאוס דיג'ו

    תודה!

    אני מנסה לעקוב אחרי הכל אבל אני מקבל את השגיאה 501 ובעיקר להתייחס לעובדה שהסיסמה שגויה כשאני יודע שהיא בסדר