ראשי » תרגילים ופתרונות כהכנה לראיון עבודה בלינוקס

    מלאו פרטים לקבלת ייעוץ





    אני מאשר קבלת מבצעים ועדכונים מחברת RT-GROUP בכפוף לprivacy

    [honeypot Email id:email class:email]

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

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

    את הפקודות נכתוב במעטפת פקודה (shell) Bash

    שאלה 1

    כתבו פקודה אשר תשנה את שמו של קובץ "file.txt" ל: "file2.txt"

    mv file.txt file2.txt
        

    שאלה 2

    אתם רוצים להוריד תוכנה אשר פועלת על מעבד של 64 סיביות בלבד (64 bit processor architecture). על ידי איזו פקודה תוכלו לבדוק את ארכיטקטורת המעבד שלכם?

    uname -p
    
    הערה
    אמנם פקודת uname -p תציג לנו בדיוק את המידע שאנחנו מחפשים, גם פקודת uname -a תתאים לנו – הרי היא מציגה את כל המידע אודות הקרנל ומערכת ההפעלה שלנו.
    
        

    שאלה 3

    כתבו את רצף הפקודות שיאפשרו לכם להתחבר לשרת ממחשב העבודה שלכם ולבצע את העדכונים. (בהנחה ויש לכם את הסיסמא למשתמש הroot- בשרת)אתם נמצאים על מחשב העבודה שלכם ועליכם להוריד עדכונים אחרונים בעבור שרת הרץ על מערכת הפעלה מבוססת Linux הנמצא בכתובת 192.168.1.99root@ (ברשת המקומית שלכם).

    ssh root@192.168.1.99
    apt update
    apt upgrade
        
    תמונת אווירה

    שאלה 4

    אתם נמצאים בתיקיית ה"בית" שלכם בכתובת /home/me ורוצים להעתיק קובץ בשם runme.sh לתיקייה בשם dir3.
    אתם מריצים פקודת cp ./runme.sh ./dir3 אך מקבלים שגיאה: Permission Denied.
    פקודת ls -ld dir3 מחזירה לנו את הפלט הבא:
    dr–r–r—2 me me 4096 Jan 31 10:15 dir3
    כיצד תפתרו בעיה זו?

    ניתן לראות כי התיקייה אכן שייכת לנו אך אין לנו הרשאות כתיבה או הרצה עליה (אנחנו מבקשים לרשום לתיקייה).
    על מנת לפתור בעיה זו נשתמש בפקודת chmod
    יש שתי דרכים לנסח פקודה זו לצרכינו:
    chmod +w dir3
    chmod 775 dir3
        

    שאלה 5

    לאחר ניסיון התחברות למחשב מרוחק באמצעות פקודת SSH הבנתם שחומת האש (firewall) במחשב היעד חוסמת את ההתחברות.
    חומת האש המוגדרת במחשב היעד היא UFW. על ידי איזו פקודה נאשר התחברות SSH מהמחשב שלנו למחשב היעד?
    כתובת IP שלנו: 192.168.1.100

    sudo ufw allow from 192.168.0.4 to any port 22 proto tcp
    משמעות הפקודה:
    אנחנו משתמשים בsudo מכיוון שהגדרות חומת אש דורשות הרשאות אדמיניסטרטור.
    ufw – היא פקודת חומת האש שלנו
    from [IP] – מגדירה מאיזו כתובת IP אנחנו מאשרים גישה.
    To any – אנחנו מקבלים מידע דרך כל ממשק (interface) – (wifi, ethernet…)
    Port 22 – מגדיר שהגישה היא רק לport 22. (המוגדר כברירת מחדל לSSH)
    Proto tcp – מגדיר שמאושרת גישה רק באמצעות פרוטוקול TCP.
        

    שאלה 6

    אתם מנסים לגלוש באינטרנט ולא מצליחים להגיע לאתר המבוקש.
    לאחר הרצת פקודת ifconfig אתם רואים שאתם מחוברים לאינטרנט וכתובת הIP שלכם היא 192.168.1.33.
    כתובת הGateway- היא 192.168.1.1
    כאשר הרצתם פקודת ping 192.168.1.1 קיבלתם תשובה.
    כאשר הרצתם פקודת ping 8.8.8.8 גם קיבלתם תשובה.
    כאשר הרצתם פקודת ping google.com לא חוזרת תשובה.
    מאיזו סיבה יכולה לנבוע בעיה זו?

    הבעיה נובעת מהגדרות שרת הDNS במחשב שלכם.
    נבדוק האם בכלל מוגדר לנו שרת DNS במערכת. לשם כך נריץ את הפקודה הבאה:
    cat /etc/resolv.conf
    בקובץ זה צריך להיות מוגדר שרת הDNS שלנו. אם אנחנו רואים בפלט הפקודה טקסט כגון:
    nameserver 217.19.192.132
    יתכן כי השרת לא עובד ברגע זה.
    נוסיף עוד שורת טקסט לסוף הקובץ
    nameserver 8.8.8.8
    כעת מוגדרים במערכת שלנו שני שרתי DNS וכאשר הראשון מבניהם לא יגיב נמשיך בצורה אוטומטית לשני.
    
        

    שאלה 7

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

    בעבור דפדפן שפועל על המערכת נוצר process. כדי שנוכל לאתר את ה
    PID (Process ID) של הדפדפן שקפא נשתמש בפקודת  ps -aux.
    פקודה זו תאפשר לנו לראות את כל המידע על כל ה"תהליכים" שרצים במערכת – בין היתר את שם התהליך (firefox) וה Process ID שלו.
    מכיוון שרשימת התהליכים במערכת היא מאוד ארוכה, נרצה לסנן את המידע.
    באמצעות שימוש בסימן ה"|" (pipe) נשלח את פלט הפקודה כארגומנט לפקודת grep כדי לסנן רק את הפלט שאנו רוצים. הפקודה הסופית תראה כך:
    ps -aux | grep firefox
    עכשיו כל מה שנאשר לעשות זה לקחת את מספר הPID ו"להרוג" את התהליך. פקודה זו תראה כך:
    kill -9 111111 (בהנחה שמספר הPID  הוא 111111)
    
        
    תמונת אווירה

    שאלה 8

    כתבו סקריפט שבודק האם קובץ בשם myFile.txt קיים בתיקיית הבית של המשתמש. אם הוא קיים נוסיף את הטקסט "This file was updated" + date updated לסופו של הקובץ. אם הקובץ לא קיים בתיקיית הבית של המשתמש נייצר אותו ונכתוב לתוכו את הטקסט הבא:
    "File created" + date created

    #!/bin/bash
    date=$(date)
    if [ -f "${HOME}/myFile.txt" ]; then
    	printf "This file was updated\n${date}\n" >> $HOME/myFile.txt
    else
    	printf "File created\n${date}\n" > $HOME/myFile.txt
    fi
    
    
        

    שאלה 9

    כתבו סקריפט שמדפיס הודעה למשתמש בהתאם לשעה ביום.
    אם השעה 00:00 – 04:59 : ידפיס "good night"
    אם השעה 05:00 – 11:59: ידפיס "good morning"
    אם השעה 12:00 – 17:59 : ידפיס "good day"
    אם השעה 18:00 – 23:59 : ידפיס "good evening"

    #!/bin/bash
    timeofday = $(date +%H)
    # date +%H returns the hour of the day 0-23
    if (($timeofday >= 0)) && (($timeofday < 5)); then
    	echo "Good night"
    elif (($timeofday >= 5)) && (($timeofday < 12)); then
    	echo "Good morning"
    elif (($timeofday >= 12)) && (($timeofday < 18)); then
    	echo "Good day"
    else
    	echo "Good evening"
    fi
    
    
    
        

    שאלה 10

    כתבו תוכנה לשמירת תזכורות שתעבוד באופן הבא:
    התוכנה יוצרת קובץ טקסט בשם notes בעמוד הבית של המשתמש (במידה והקובץ לא קיים)
    לאחר מכן יוצג תפריט בחירה:
    1 – קריאת תזכורות קיימות
    2 – כתיבת תזכורת חדשה
    3 – מחיקת כל התזכורות
    קריאת התזכורות תעשה באמצעות פקודת less כדי שתהיה אפשרות לגלול לאורך הטקסט.

    #!/bin/bash
    if [ ! -f $HOME/notes ]; then
    	touch $HOME/notes
    fi
    printf "1- Read notes\n2- Write new note\n3- Delete all notes"
    read action
    if [ "${action}" == "1" ]; then
    	less $HOME/notes
    elif [ "${action}" == "2" ]; then
    	read -p "New note: " note
    	printf "> ${note}\n" >> $HOME/notes
    	echo "note created"
    elif [ "${action}" == "3" ]; then
    	echo "" > $HOME/notes
    else
    	echo "Invalid option"
    fi
    
    
        

    קורס לינוקס אדמין - Real Time College

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