סיכום
התחלנו את הפרק בשאלה. איך יכולנו לעשות את שלנו sys_info_page סקריפט מזהה אם למשתמש הייתה הרשאה לקרוא את כל הספריות הביתיות? עם הידע שלנו על if, נוכל לפתור את הבעיה על ידי הוספת קוד זה ל- report_home_space פוּנקצִיָה:
report_home_space () {
if [[ $(id -u) -eq 0 ]]; ואז חתול <<- _EOF_
ניצול שטח ביתי (כל המשתמשים)
$(du -sh /home/*)
_EOF_
אחר
חתול <<- _EOF_
ניצול שטח ביתי ($USER)
$(du -sh $HOME)
_EOF_
fi לחזור
}
report_home_space () {
if [[ $(id -u) -eq 0 ]]; ואז חתול <<- _EOF_
ניצול שטח ביתי (כל המשתמשים)
$(du -sh /home/*)
_EOF_
אחר
חתול <<- _EOF_
ניצול שטח ביתי ($USER)
$(du -sh $HOME)
_EOF_
fi לחזור
}
אנו מעריכים את התפוקה של ה id פקודה. עם ה -u אוֹפְּצִיָה, id מוציא את מספר מזהה המשתמש המספרי של המשתמש היעיל. משתמש העל הוא תמיד אפס וכל משתמש אחר הוא מספר גדול מאפס. בידיעה זו, אנו יכולים לבנות כאן שני מסמכים שונים, האחד מנצל את הרשאות משתמש-על, והשני, מוגבל לספריית הבית של המשתמש עצמו.
אנחנו הולכים לקחת הפסקה מה sys_info_page תוכנית, אבל אל תדאג. זה יחזור. בינתיים, נסקור כמה נושאים שנצטרך כשנמשיך לעבוד.