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

שינוי הרשאות

הרשאות של קובץ או ספריה קובעות למי יש גישה לקובץ/ספריה ומה מותר לו לעשות. ההרשאות אינן אישיות אלא מתייחסות לקבוצות של משתמשים (המשתמש, הקבוצה בה הוא מוגדר, ושאר משתמשי המערכת).
ב- Unix שינוי הרשאות נעשה ע"י הפקודה  chmod. גם בפרל הפונקציה שבעזרתה נשנה הרשאות נקראת  chmod.
הפונקציה מקבלת כארגומנטים מספר אוקטלי ורשימה של קבצים, ומשנה את ההרשאות של הקבצים לפי הערך האוקטלי.
לדוגמא, כדי לאפשר כתיבה/קריאה מקובץ לשלושת הקבוצות (המשתמש,הקבוצה והשאר):

#!/usr/local/bin/perl

chmod (0666
/*הערך האוקטלי של הרשאות כתיבה/קריאה*/
, "myfile");
/*שם הקובץ עליו אנו רוצים לבצע את השינוי*/

הערך המוחזר של הפונקציה  chmod הוא מספר הקבצים ששונו בהצלחה. במידה ורצינו לשנות מספר קבצים ורק חלק שונו, לא נוכל לדעת מי מהקבצים שונה ומי לא. כדי לדעת זאת עלינו לבצע את השינוי קובץ-קובץ. דוגמא:

#!/usr/local/bin/perl

foreach $file (<*.txt>) { # נעבור על כל קבצי הטקסט אחד אחד
    unless chmod (0666,$file) { # אם השינוי לא הצליח
        warn "Couldn't chmod $file: $!";
    
}









להוספת תגובה, אנא התחברו לדרכונט.