Linux

למה המשתמש לא יכול לקרוא את הקובץ?

בעלים, קבוצה וכל־האחרים: איפה בדיוק חסר הסיב, ואיך לתקן בלי לפתוח את הקובץ לכולם.

בסיסיקריאה ≈ 12 דקותטרם התחיל

בשתי מילים

בעלים, קבוצה וכל־האחרים: איפה בדיוק חסר הסיב, ואיך לתקן בלי לפתוח את הקובץ לכולם.

איך זה עובד

ההרשאות ב־Linux הן שלושה setים של שלושה סיבים: בעלים, קבוצה וכל־האחרים. הבעלים הוא משתמש ספציפי, לא «המנהל»; הקבוצה היא הדרך לתת גישה לכמה אנשים בבת אחת; ו«כל האחרים» הוא מה שנשאר. שגיאת Permission denied כמעט תמיד אומרת דבר אחד: נפלתם לקבוצה שאין בה את הסיב שאתם צריכים.

  • ‏-rw------- 1 root students summary.txt — רק root יכול לקרוא: לקבוצה ולכל־האחרים אין אף סיב.
  • 640 = rw- לבעלים, r-- לקבוצה, --- לאחרים. ‏644 כבר נפתח לקריאה לכל מי שיושב על המערכת.
  • id מראה באיזו קבוצה אתם. אם קבוצת הקובץ היא students ואתם חבריה — הבעיה היא בסיבים, לא בחברות.
  • תנו קריאה לקבוצה: sudo chmod 640 הקובץ, או sudo chmod g+r הקובץ.
  • אם הקבוצה לא שלכם — הוסיפו את המשתמש אליה (sudo usermod -aG students student) והתחברו מחדש.
  • אל תעשו 777 ואל תיקחו את הקובץ לעצמכם: sudo chown student משאיר את הקובץ בלי הבעלים המקורי.

טוען התקדמות…