PDA

نسخه کامل مشاهده نسخه کامل : مشکل در ساختن دایرکتوری در لینوکس با کد php



ali zi zeperto
10-08-2010, 10:29
سلام
من می خوام از توی کدم که با php نوشته شده یه فولدر در /var/www بسازم.مشکل اینجاست که ارور permission میده.من فایل رو با bluefish از طریق ترمینال و با کاربر root باز می کنم و ویرایش می کنم.وقتی فایل رو از روی لوکال باز می کنم پیغام خطا میده.
بعد گفتم شاید باید permission شاخه رو عوض کنم.یه دایرکتوری توسط کاربر root توی مسیر /var/www ساختم و بعد با دستور chgrp zeperto profile پرمیژن فولدر پروفایل رو به زپرتو تغییر دادم.بازم نشد.یعنی پیغام خطا داد.مشکل کجاست؟:41:
من در کل می خوام از طریق کد پی اچ پی فولدر در هر مسیری روی سیستمم بسازم.اولویت با مسیر /var/www .

taia
11-08-2010, 10:19
سلام
من می خوام از توی کدم که با php نوشته شده یه فولدر در /var/www بسازم.مشکل اینجاست که ارور permission میده.من فایل رو با bluefish از طریق ترمینال و با کاربر root باز می کنم و ویرایش می کنم.وقتی فایل رو از روی لوکال باز می کنم پیغام خطا میده.
بعد گفتم شاید باید permission شاخه رو عوض کنم.یه دایرکتوری توسط کاربر root توی مسیر /var/www ساختم و بعد با دستور chgrp zeperto profile پرمیژن فولدر پروفایل رو به زپرتو تغییر دادم.بازم نشد.یعنی پیغام خطا داد.مشکل کجاست؟:41:
من در کل می خوام از طریق کد پی اچ پی فولدر در هر مسیری روی سیستمم بسازم.اولویت با مسیر /var/www .

اصولا این مشکل وجود نداره ولی خوب، شما دو راه دارید که راه اصلی دادن اختیارات کامل به کاربر آپاچ سرور هست، که [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] نام داره، شما باید به این کاربر اجازه ی ایجاد و نوشتن روی فولدر ها رو بدید، که باز دو حالت داره:
اول با رفتن به مسیر system - > administration -> user and groups و دخیل کردن تغییرات مد نظرتون.

یا به وسیله ی کدی مثلا این چنین این اجازه رو صادر کنید، مثلا من می خوام در فولدر :
/home/taha/Public/www
تغییرات را اعمال کنم، یا کدی اینچنین این اجازه رو صادر می کنم:
chown -R taha:[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] /home/taha/Public/www

راه حل بدون امنیت دیگه هم این هست که به فولدر مورد نظرتون دسترسی برای تمام اعملات ها رو بدید مثلا:
chmod -R 777 /home/taha/public/www
ساده ترین راه همین همین راه اخیر هست!

DHT
14-08-2010, 07:44
کاربر آپاچ سرور هست، که [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] نام داره
البته فکر کنم در دبیان نام این کاربر این باشه.چون داخل فدورا apache است.

ali zi zeperto
14-08-2010, 10:25
البته فکر کنم در دبیان نام این کاربر این باشه.چون داخل فدورا apache است.
من هم با دبیان کار می کنم.

taia
15-08-2010, 22:00
من هم با دبیان کار می کنم.

پیغام خطایی که در بروزر می گیرید دقیقا چی هست؟

ali zi zeperto
09-09-2010, 08:43
دوباره سلام.
می بخشید که اینطوری تاپیک رو دنبال می کنم.توضیحات:اون موقع در حال انجام یه پروژه بودم که زمان زیادی برای تموم کردنش نداشتم.به خاطر همین علی رغم اینکه مایل بودم کارم رو روی لینوکس انجام بدم منتها به خاطر این مسایل پیش اومده (مثل موضوع همین تاپیک)نتونستم و تا پایان کار پروژه از یه سیستم عامل دیگه استفاده کردم.:46:الان دیگه مشکلم اون نیست و می خوام که داستان این permission ها رو به امید خدا حلش کنم که دیگه دردسر نشه.ضمنا الان در مراحل ابتدای یه کار دیگه ام و م یخوام تا وقت هست این مشکلم رو با کمک شما جناب taia خان حل کنم.
تو پست قبلی فرمودید که اروری که مرورگر میده رو بذارم.
Warning: fopen(maxim.txt) [function.fopen]: failed to open stream: Permission denied in /var/[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] on line 5
من تو یکدم الان می خوام که یه فایل روی مسیر /var/www باز کنم یعنی بسازم.فایله وجود نداره بلکه قراره ساخته شه.
قبلا هم این دستور رو تو یترمینال زدم
chown -R ali-zi-zeperto:[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] /var/www
و بدون ارور انجام شد.عکسای پایین هم که دیگه توضیح نداره.
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

taia
09-09-2010, 10:34
پس بگزارید از پایه بریم جلو با فرض بر اینکه تنظیمات خود به خود انجام نشده! (گرچه من هر بار در دبیان سرور آپاچ نصب کردم بدون مشکل کار کرده!)
دستورات زیر رو یک به یک وارد کنید:
برای اطمینان از اینکه گروه ست شده برای فولدر همون [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] هست

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
برای اطمینان از اینکه گروه توانایی انجام عملیات رو داره:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
تنظیم GID برای [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] برای تمام زیر شاخه ها

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
اگر دستور ls -l رو اجرا کنید باید دایرکتوری مورد نظر اینگونه باشه: drwxrwsr-x
نهایتا نام کاربریتون رو به گروه [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] اضافه کنید:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
و

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

البته دستور آخر رو اگر با -r اجرا کنید هم بهتره.

امیدوارم مشکلتون رو حل کنه، اگر نشد روشهای دیگه رو می ریم! :46:

ali zi zeperto
09-09-2010, 12:43
خیلی خیلی ممنون.درست شد.از دستوراتی که دادید بجز 3 تا بقیه رو کم و بیش می فهمم چیکار می کنن.
یکی اینکه چرا از ۷۷۵ توی chmod استفاده کردی.معنیش چیه؟
یکی دیگه هم chown آخر برای چیه؟
GID چیه؟
اینا رو می پرسم که بعدا اگر جای دیگه به مشکل خوردم دوباره مزاحم نشم.
بازم خیلی خیلی ممنون.اینطوری الان همه کارم رو تو لینوکس میکنم و بخاطر یکی دو مورد نمی رم سراغ بعضی چیزا!!!:31:

taia
10-09-2010, 00:30
ببینید ساختار دستور chmod به این شکل هست که در جلوش سه عدد می آد، عدد اول مربوط به owner یا همون صاحب فایل هست، که با دستور chown کاربر صاحب فایل رو مشخص می کنیم، عدد دوم مربوط به گروه هست، و عدد سوم مربوط به همه(همه یعنی هر کسی که می تونه به نحوی به فایل دسترسی داشته باشه.
یک مسئله ی ساده رو به یاد داشته باشید، عدد 4 یعنی خواندن. عدد 2 یعنی نوشتن و عدد 1 یعنی اجرا!
بنابراین chmod 421 یعنی، کاربر owner می تونه فقط فایل رو بخونه، گروه ست شده بر روی فایل می تونه فایل رو ویرایش کنه، و کاربرهای دیگه فقط می تونند فایل رو اجرا کنند.
حالا شما با جمع این اعداد می تونید دسترسی ها رو تغییر بدید مثلا برای دادن دسترسی هم خواندن و هم اجر 1+4 میشه5، همه دسترسی ها می شه 4 + 2 + 1 که میشه 7.
بنابراین دستور chmod 775 یعنی، اجازه ی همه کارها برای کاربر owner و گروه مربوطه، و اجازه فقط خواندن و اجرا برای تمامی کاربران.
chown رو هم فکر کنم متوجه شدید با توجه به توضیح بالا.
و اما GID ، در واقع به نوعی می شه گفت یک مشخصه برای عضوهای گروه هست، مخقق group ID هست.

ali zi zeperto
10-09-2010, 07:04
بالاخره داستان این عددها رو هم فهمیدم.من فکر می کردم که هر عددی مثلا 600 یه معنی داره ولی نمی دونستم هر رقمش اینطوری درست میشه و معنی داره.باز هم بابت این راهنمایی ها ممنون.
عید فطر رو به شما هم تبریک می گم.آرزوی سلامتی و قبولی طاعات برای همه و بر و بچه های لینوکسی بالاخص مدیرا و همکاران این انجمن که سالهاست که می بینم رونق این فروم رو نگه داشتن.در واقع به جامعه کاربرای لینوکس کمک بزرگی می کنید.موفق باشید