Skip to content

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

מצבים אוקטליים וסימבוליים ל-chmod, בתוספת הביטים setuid, setgid ו-sticky.

לכל קובץ שלוש מחלקות: בעלים, קבוצה ואחרים. כל מחלקה היא סכום שלושה ביטים: קריאה שווה 4, כתיבה שווה 2, הרצה שווה 1. שלוש ספרות אוקטליות יוצרות את המצב.

טבלת עיון · 42 ערכים
42 of 42 rows
מספרי (אוקטלי)
גישה מלאה לבעלים; קריאה והרצה לקבוצה ולאחרים.chmod 755 script.sh
קריאה וכתיבה לבעלים; קריאה בלבד לקבוצה ולאחרים.chmod 644 notes.txt
קריאה וכתיבה לבעלים בלבד; אין גישה לאחרים.chmod 600 ~/.ssh/id_rsa
גישה מלאה לבעלים בלבד; אין גישה לאחרים.chmod 700 ~/.ssh
גישה מלאה לכולם. סיכון אבטחה.chmod 777 shared/
קריאה וכתיבה לכולם. ביט הרצה אינו מוגדר.chmod 666 log.txt
גישה מלאה לבעלים; קריאה והרצה לקבוצה; כלום לאחרים.chmod 750 app/
הרצה בלבד, לכל המחלקות. אפשר לעבור דרך התיקייה אבל לא לרשום את תוכנה.chmod 111 dir/
אין גישה לאף מחלקה. root עדיין יכול לקרוא את הקובץ.chmod 000 private.key
גישה מלאה לבעלים ולקבוצה בתוספת setgid; התבנית הקלאסית לתיקיית צוות משותפת.chmod 2775 /srv/team
תוצאות umask
מסכת ברירת מחדל. קובצים חדשים מקבלים 644; תיקיות חדשות מקבלות 755.umask 022
מסכה פרטית. קובצים חדשים מקבלים 600; תיקיות חדשות מקבלות 700.umask 077
סימבולי
מוסיף הרצה לבעלים.chmod u+x deploy.sh
מסיר כתיבה מהקבוצה.chmod g-w config.yml
מסיר קריאה מאחרים.chmod o-r secret.env
מגדיר קריאה בלבד לכל המחלקות.chmod a=r readme.md
מעניק את כל ההרשאות לכל המחלקות.chmod ugo+rwx public/
ביטים מיוחדים
ביט setuid מוגדר. הבינארי רץ עם הרשאות בעלי הקובץ.chmod 4755 /usr/bin/passwd
ביט setgid מוגדר. קבצים ותת-תיקיות חדשים יורשים את הקבוצה של התיקייה.chmod 2755 /shared
ביט sticky מוגדר. רק בעלי הקובץ יכול למחוק אותו.chmod 1777 /tmp
ביט sticky על קובץ רגיל. שריד של רמז keep-in-swap מיומני ימים שלינוקס מודרני מתעלם ממנו.chmod 1755 legacy.sh
פקודות
משנה את ביטי המצב של קובץ.chmod 755 file
משנה את הבעלים והקבוצה של קובץ.chown user:group file
משנה את הקבוצה הבעלים של קובץ.chgrp devs file
מגדיר את מסכת ההרשאות כברירת מחדל לקובצים חדשים.umask 022
מציג קבצים עם ההרשאות שלהם בתבנית ארוכה.ls -l /etc
מציג את רשומות ה-POSIX ACL של קובץ.getfacl report.pdf
מגדיר או משנה רשומות POSIX ACL.setfacl -m u:alice:rw report.pdf
מוצא קבצים שביטי ההרשאות שלהם תואמים למצב.find / -perm /4000
מדפיס מטא-נתונים של קובץ, כולל המצב האוקטלי.stat -c '%a %n' file
מציג את ההרשאות של כל רכיב בנתיב.namei -l /var/www/index.html
משנה מאפיין של קובץ, כמו immutable.chattr +i /etc/resolv.conf
מציג מאפייני קבצים.lsattr /etc/resolv.conf
מציג את היכולות (capabilities) שהוענקו לקובץ.getcap /usr/bin/ping
מעניק יכולת לקובץ, בלי setuid.setcap 'cap_net_raw=+ep' /usr/bin/ping
מציג את היכולות שבתוקף במעטפת הנוכחית.capsh --print
מציג את מזהה המשתמש, מזהה הקבוצה וחברויות הקבוצה של משתמש.id alice
מציג את הקבוצות שמשתמש חבר בהן.groups alice
מריץ פקודה כמשתמש אחר לפי מדיניות sudoers.sudo systemctl restart nginx
עורך את קובץ sudoers עם בדיקת תחביר.visudo
עובר לחשבון משתמש אחר.su - deploy
פותח מעטפת עם קבוצה ראשית אחרת.newgrp developers