מגביל פגז מוגבל במה חשבון משתמש יכול לעשות על לינוקס. משתמש מוגבל לא יכול לשנות את המדריך שלהם, ואתה קובע אילו פקודות יש להם גישה. הנה איך להקים פגז מוגבל על לינוקס.
כיורים מוגבלים
פגז מוגבל אינו פגז שונה. זהו מצב שונה של פגז רגיל . ה לַחֲבוֹט , קורן , דג יכולה, ופצצות אחרות כול להיות מופעלות במצב מעטפת מוגבל. אנחנו נהיה באמצעות Bash במאמר זה, אבל אותם עקרונות החלים על קונכיות אחרים.
בגלל פגזים מוגבלים הם רק דרך נוספת באמצעות הפגז הרגיל שלך, הם קלים להגדיר. אין מה להתקין, והם זמינים בכל מקום לינוקס היא.
קונכיות מוגבלות יכולות להיות מיושמות על תסריטים, מדי. המבטיחה כי כל נזק הם עלולים לגרום אם הם כבר כתוב באופן שגוי מוגבל לגבולות העולם המוגבלים שלהם כי אין להם גישה למחשב כולו.
שים לב, עם זאת, כי פגזים מוגבלים איננו לגמרי לברוח-הוכחה. מישהו עם ידע מספיק יכול לברוח קליפה מוגבלת. הם פתרון מעולה עבור הצבת גבולות בטוחים על משתמש מזדמן, אך אין להסתמך על קונכיות יוגבלו מכל ביטחון העולם האמיתי על מערכת הייצור.
קָשׁוּר: מה ההבדל בין Bash, ZSH, ונרתיקים לינוקס אחרים?
Bash המוגבל
כאשר אתה מפעיל Bash כמעטפת מוגבלת, למשתמש יש כמה יכולות הוסרו מהם. באופן ספציפי, המשתמש לא יכול -
-
להשתמש
CDכדי לשנות את ספריית העבודה. -
שנו את הערכים של
$ PATH,$ SHELL,$ BASH_ENV, או$ ENVמשתנה סביבתי (אבל הם יכולים לקרוא את הערכים הנוכחיים). -
קריאה או שינוי
SHELLOPTS $להפגיז אפשרויות סביבתיות. - נתב מחדש את הפלט של הפקודה.
-
Invoke פקודות הדורשות נתיב כדי לאתר אותם. כלומר, אתה לא יכול לשלוח פקודה שיש לה חתכים אחד או יותר קדימה "
-" בה. -
לעורר
Execלהחליף תהליך שונה עבור הפגז. - השתמש בכל התכונות הוגבלו על פי התסריט.
אתה יכול לקרוא א פגז Bash מוגבל על ידי שימוש
--R
אפשרות (מוגבלת). מנסה לעשות משימה פשוטה כמו שינוי ספריית העבודה אסור. מסר תמציתי אומר לך כי
CD
מוגבל.
bash -r
מסמכים cd
בש פגז יכול גם לזהות מתי זה כבר מופעל באמצעות "rbash" במקום "bash". זה גורם לו להתחיל כמעטפת מוגבלת, מדי. זה מספק דרך נוחה להגדיר את מעטפת ברירת המחדל עבור משתמש מסוים, אשר נשתמש בקרוב.
אם נשתמש
איפה
הפקודה על אובונטו לחפש את
rbash
קבצים, נראה כי ההפעלה היא בספריית "usr / bin". דף הגבר נמצא "/ usr / share / גבר / man1" ספרייה.
משתמש ב
ls
הפקודה עם
-l
(ארוך) אפשרות מגלה כי
rbash
הוא
למעשה קישור סימבולי
ל
לַחֲבוֹט
.
whereis rbash
ls -l / usr / bin / rbash
ביום Manjaro ופדורה, את
rbash
היה קישור סמלי להיווצר. זה עובד בשני הפצות:
whereis rbash
sudo ln -s / bin / bash / bin / rbash
whereis rbash
בפעם השנייה אנו משתמשים
איפה
הפקודה, הוא מוצא
rbash
בספריית "/ usr / bin".
הגבלת משתמש
בואו
יצירת חשבון משתמש חדש
בשם "מיני". לאחר מכן, נגדיר את הקונכיות שלהם להיות הפגז המוגבל באמצעות
-
(Shell) אפשרות של
useradd
פקודה. אנו מציעים גם
להגדיר את סיסמת החשבון
משתמש ב
passwd.
הפקודה, ואנו ניצור תיקייה הביתה עבורם.
ה
-
(הורים) דגל
mkdir
הפקודה אומרת
mkdir
כדי ליצור את ספריית היעד וכל ספריות האב כי הוא צריך ליצור, מדי. אז על ידי יצירת ספריית "/ home / מיני / bin", אנו יוצרים את הספרייה "/ home / מיני" בעת ובעונה אחת.
sudo useradd מיני -s / bin / rbash
sudo passwd מיני
sudo mkdir -p / home / מיני / bin
כאשר והמיני מתחבר, היא תהיה הפועל במעטפת מוגבלת.
cd
היא לא יכולה להפעיל פקודות צורך לכלול קו נטוי "
-
":
/ usr / bin / פינג
עם זאת, היא עדיין יכולה לבצע פקודות הנמצאות בנתיב.
פינג
זו לא התנהגות שניתן לצפות, וזה בהחלט לא מה שאנחנו רוצים. כדי להדק את ההגבלות נוספות, אנחנו צריכים לשנות את הנתיב כי הפגז של מיני ישתמש כדי לחפש פקודות.
הידוק ההגבלות
כאשר יצרנו ספריית הבית של מיני "/ home / מיני", יצרנו גם ספרייה "/ home / מיני / bin". זה המקום שבו זה המדריך נכנס לשחק.
אנחנו הולכים לערוך מיני של ".bash_profile" קובץ ולהגדיר את דרכה אל נקודה לספרייה שרק. אנחנו גם נגביל ".bash_profile" של מיני קבצים, כך שורש יכול לערוך אותו. פירוש הדבר הוא שלא המשתמשים אחרים יכול לערוך את הקובץ ולשנות את דרכה.
sudo gedit /home/minnie/.bash_profile
ערוך את הקיים "PATH =" או להוסיף את השורה הבאה:
path = $ HOME / bin
שמור את הקובץ. נו
לשנות את הבעלים של הקובץ
כדי השורש באמצעות
chown
הפקודה
לשנות את הרשאות הקובץ
משתמש ב
chmod
פקודה. רק משתמש root תוכל לערוך את הקובץ.
sudo chown שורש: שורש /home/minnie/.bash_profile
sudo chmod 755 /home/minnie/.bash_profile
ls -l /home/minnie/.bash_profile
מיני משתמש בפעם הבאה שיתחבר לאתר, נקודות נתיב אותה תיקייה אחת.
המיני של המשתמש המוגבל שלנו יכול להשתמש בש רק מובנה פקוד כמו
הֵד
,
כינוי
, ו
להתנתק
. היא אפילו לא יכולה להשתמש
ls
-
ls
נצטרך להרפות קצת החנק שלנו אם אנחנו רוצים שהם יהיו מסוגלים לעשות שום דבר שימושי בכלל. ניצור כמה קישורים סמליים מספריית "הסל" של מיני על הפקודות שאנחנו רוצים למיני תוכל להשתמש.
sudo ln -s / bin / ls / home / מיני / bin
sudo ln -s / bin / העליון / home / מיני / bin
sudo ln -s / bin / uptime / home / מיני / bin
sudo ln -s / bin / פינקי / home / מיני / bin
כאשר ומיני היומנים הבאים, היא תמצא כי היא יכולה להשתמש בש מובנית פקוד, בתוספת אלה פקוד קושרו.
ls
פינקי דייב
uptime
הגבלת משתמשים קיימים
יצרנו מיני כמשתמש חדש. ל
לשנות את הקליפה קיים
משתמשים, אנחנו יכולים להשתמש
-
(Shell) אפשרות של
א usנרמן
פקודה.
sudo -s usermod / bin / מרי rbash
אתה יכול להשתמש
פָּחוּת
הפקודה על "/ etc / passwd" את הקובץ במהירות לראות מה פגז מוגדר בתור מעטפת ברירת המחדל של המשתמש.
פחות / etc / passwd
אנו יכולים לראות כי מרי ישתמש משתמש הקליפה המוגבלת כשהוא היומנים באים.
זכור כדי להחיל את השינויים האחרים המגבילות שלהם
$ PATH
משתנה הסביבה להגדיר את הפקודות שאתה רוצה את מרי שהמשתמש יוכל לבצע.
הגבלת סקריפטים
משתמש רגיל, ללא מגבלות יכול לשגר בסקריפטים המתבצעים בתוך קונכייה מוגבלת. העתק את השורות הבאות והדבקתן עורך. שמור את הקובץ בשם "restricted.sh" ולסגור את העורך.
#! / Bin / bash # מתחיל סקריפט פגז רגיל Bash הד "## במצב בשינה חופשי! ##" הֵד הד "הספרייה הנוכחית:` pwd`" הד "שינוי מדריך" cd / usr / share הד "עכשיו בספרייה:` pwd`" הד "שינוי לתיקיית הבית" cd \ הד "עכשיו בספרייה:` pwd`" # מוגבל הגדרת מצב -r סט הֵד הד "## במצב מוגבל! ##" הֵד הד "הספרייה הנוכחית:` pwd`" הד "שינוי מדריך ל / home /" cd / home הד "עדיין בספרייה:` pwd`" הֵד הד "מנסה להתחיל עוד פגז" / Bin / bash הֵד הד "מנסה לנתב פלט הפקודה" ls -l $ בית & gt; my_files.txt חתול my_files.txt הֵד יציאה 0
אנחנו צריכים להשתמש
chmod
הפקודה עם
+ X
(לבצע) דגל על מנת להפוך את הפעלת סקריפט.
chmod + x restricted.sh
חלק הראשונים של התסריט רצו במעטפת נורמלית.
./ restricted.sh
החלק השני של התסריט-הביט אחרי הקו-הריצות "סט -r" במעטפת מוגבלת.
אף אחת מהפעולות ניסו להצליח בחלק המוגבל של התסריט.
סקריפט כולו יכול להתבצע בטווח במעטפת מוגבלת על ידי הוספה
--R
אל השורה הראשונה:
! # / Bin / bash -r
זכור הודיני
קונכיות מוגבלות שימושיות, אך לא ודאי לגמרי. משתמש מיומן מספיק תוכל להימלט מהם. אבל כאשר נעשה שימוש בשיקול, הם דרך יעילה כדי להקים מערכת מגבלות עבור חשבון מסוים.