עזרה בהרשאות ב PHP

dando

New member
עזרה בהרשאות ב PHP

יש לי בעיה בפתיחת קבצים. הרשאות מלאות על התיקייה... אבל כשאני מריץ שורה זו:
$out=fopen("file","w") || die ("file won't open");​
אני מקבל שגיאה :
Warning: fopen("file", "w") - Permission denied in /mnt/schn366-D/www/test.php on line 2 file won't open​
ההרשאות על התיקייה:
drwxr-xr-x 1 root root 4096 Jan 1 1980 schn18-D​
מה אני אמור עוד לעשות?
 

אמיר ט

New member
אוקיי....

תראה, הפיתרון הכי פשוט ולא מתחשב באבטחה זה לעשות
chmod 666 file​
ואז זה בטוח יעבוד, אבל עדיף לך:
chown apache.apache file (אם הקבוצה והמשתמש הם אפאצי...) chmod u+w file​
ואז רק ליוזר של אפאצי יהיה גישת כתיבה לקובץ בניגוד לכל המשתמשים במקרה הקודם.
 

mBoy

New member
אוקיי ... עכשיו הבעיה שונה

כל מה שאמרת נכון ... כל עוד עבדתי על הדיסק המקומי. מה שניסיתי קודם זה לעשות זאת על דיסק שיושב על מכונת חלזונות 2000, אשר לא ממש נותנת לי לשנות הרשאות ליוזר אחר פרט לרוט. בדקתי על /var/www ואין בעיה ... יש רעיון איך לעבוד בכל זאת על דיסק אחר שיושב על חלזונות ?
 

N i X

New member
להריץ את apache כroot ? ;)

מסוכן ביותר, אך אמור לעבוד ;)
 

dando

New member
זה בדיוק העניין

שאני לא רוצה ROOT אבל מצד שני, גם ROOT לא יכול לכתוב להארד דיסק ... בטוח שאפשר לעקוף את זה, השאלה איך?
 

תמר,

New member
מדובר בלינוקס עם מחיצת חלונות?

אם כן - באיזה סוג מחיצה מדובר? אם זה ntfs, יכול להיות שבכלל אין אפשרות לכתיבה על המחיצה, ואם יש תמיכה בכתיבה - מדובר בעסק לא בטוח, כי התמיכה לא מלאה. יש אפשרות לעגון מחיצת חלונות עם אפשרויות כתיבה ל-root, ואולי גם למשתמשים. אבל אני חושבת שהדרך הנכונה היא, לכתוב על מחיצה בלינוקס - שעליה תוכל לתת הרשאות כתיבה למשתמש שמריץ את apache.
 

dando

New member
מדובר ב FAT32

לגבי הדרך הנכונה ... את צודקת לחלוטין, אבל יש לי כמה מגבלות חומרה, שבגללן אני מעדיף לנסות ולפתור את זה בצורה כזו. אם יש אפשרות לאפשר למשתמש ( ניסיתי ROOT כי שום דבר אחר לא עבד ... ומסתבר שגם ROOT לא.. ) לכתוב למחיצה נ"ל, אשמח מאוד לשמוע עליה.
 

תמר,

New member
אתה משתמש ב-samba?

באופן עקרוני, צריך שבמחשב השני יהיו הרשאות כתיבה למחשבים אחרים (נראה לי שבחלונות זה פחות או יותר ברירת המחדל). כדי לאפשר כתיבה מהלינוקס, צריך לבצע mount עם אופציות כתיבה - rw. נראה לי שבנוסף, נקודת העגינה (ה-mount point) צריכה להיות בבעלות הרצויה לך, ועם הרשאות כתיבה מתאימות. אם תרצה מידע נוסף - עיין ב-man page של mount ו/או fstab פורים שמח
 

dando

New member
תודה, אני אבדוק...

שאלות נוספות בעניין אני כבר אעלה בפורום לינוקס. תודה בכל אופן על העזרה.
 

dando

New member
אם מישהו מעוניין בפתרון...

דיי פשוט ( כמו רוב הדברים שעשויים טוב ..). כאשר עושים MOUNT אחת האופציות היא GID=מספר ו UID=מספר , לפי המספר של המשתמש או הגרופ ... ההרשאות הופכות להיות בהתאם UID=APACHE ו APACHE הוא בעלים חוקי של התיקייה. ושוב תודה לכל העוזרים.
 
למעלה