מה זה /etc/services ב-Linux/Unix?

UNIX מערכות הפעלה לאחסן מה שנקרא א קובץ שירותים ב-/etc/services. הוא מאחסן מידע על שירותים רבים שיישומי לקוח עשויים להשתמש במחשב. בתוך הקובץ יש את שם השירות, מספר יציאה, והפרוטוקול שבו הוא משתמש, וכל כינוי רלוונטי.

מספרי היציאה ממופים לשירותים ספציפיים בדיוק כמו שהקובץ של המארח במחשבי Windows ממפה שם מארח ל- כתובת ה - IP. עם זאת, קובץ השירותים של מערכת ההפעלה UNIX אינו כולל כתובות IP אלא מידע כמו האם השירות הוא TCP או UDP ואיזה שמות נפוצים הוא עשוי לעבור.

דוגמה לקובץ שירותי UNIX

קובץ שירותים

ב-UNIX, תפקיד המפתח של קובץ התצורה /etc/services הוא כדי שתוכנות יוכלו לבצע קריאה ל-getportbyname() sockets בקוד שלהן כדי להבין באיזו יציאה הן צריכות להשתמש. לדוגמה, דמון דוא"ל POP3 שואל את getportbyname (POP3) כדי לאחזר את המספר 110 שעליו פועל POP3.

הרעיון הוא שאם כל דמוני ה-POP3 משתמשים ב-getportbyname(), אז לא משנה איזה דמון POP3 אתה מפעיל, אתה תמיד יכול להגדיר מחדש את מספר היציאה שלו על ידי עריכת /etc/services.

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

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

תחביר

כל קבצי השירותים פועלים באופן זהה תחביר שֶׁל:

הערות כינויים של יציאת שם/פרוטוקול

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

$ cat /etc/services
#
# זכויות יוצרים 2008 Sun Microsystems, Inc. כל הזכויות שמורות.
# השימוש כפוף לתנאי הרישיון.
#
#ident "@(#)services 1.34 08/11/19 SMI"
#
# שירותי רשת, סגנון אינטרנט
#
tcpmux 1/tcp
echo 7/tcp
echo 7/udp
לזרוק את 9/tcp sink null
לזרוק 9/udp sink null
משתמשי systat 11/tcp
בשעות היום 13/tcp
שעות היום 13/udp
netstat 15/tcp
מקור טעינת 19/tcp ttytst
chargen 19/udp ttytst מקור
ftp-data 20/tcp
ftp 21/tcp
ssh 22/tcp # Secure Shell
telnet 23/tcp
smtp 25/tcp דואר
זמן 37/tcp timserver
זמן 37/udp timserver
שרת שמות שם 42/udp
whois 43/tcp כינוי # בדרך כלל ל-sri-nic
swat 901/tcp # Samba Web Adm. כְּלִי
servicetag 6481/udp
servicetag 6481/tcp
snmpd 161/udp snmp # SMA snmp daemon
$

שאלות נפוצות

  • מה זה יוניקס?

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

  • כיצד אוכל להעביר קובץ מספריה אחת לאחרת ביוניקס?

    השתמש בפקודה Unix/Linux mv דרך חלון מסוף כדי להעביר קבצים ותיקיות סביב המחשב שלך. לחלופין, הפצת Unix/Linux שלך צריכה להגיע עם מנהל קבצים. מנהלי קבצים נפוצים כוללים את Nautilus, Dolphin, Thunar, PCManFM ו-Caja.

  • מהי מעטפת יוניקס?

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