انجمن‌های فارسی اوبونتو

تازه کار => انجمن تازه‌کاران => نویسنده: mojtaba.sln در 19 آبان 1394، 12:05 ق‌ظ

عنوان: اعمال نشدن سطح دسترسی(حل شد)
ارسال شده توسط: mojtaba.sln در 19 آبان 1394، 12:05 ق‌ظ
سلام دوستان...
من در اوبونتو برنامه نویسی PHP می کنم. پوشه ی var/www/ رو با دستور chown سطح دسترسیش رو به کاربر خودم دادم.با دستور زیر:
sudo chown -R username wwwهمه فایل ها از این سطح دسترسی پیروی می کنند اما یکی از پوشه ها هرکار می کنم نمی شه.مرتبه اول چنین اروری می ده :
(http://8pic.ir/images/0j32jh6ywt6xr0qpl9f5.png)
و وقتی صفحه رو رفرش کنم این ارور رو می ده:
(http://8pic.ir/images/deqz9uyhbtstbldde0yi.jpg)
FILE_PUT_CONTENT ERROR
ممنون می شم دوستان راهنمایی کنند...
فقط این رو بگم که در قسمت تازه وارد ها سوال کردم...پس به اندازه ی سواد من تازه کار توضیح بفرمایید..
پیشاپیش ممنون بابت راهنمایی هاتون
عنوان: پاسخ : اعمال نشدن سطح دسترسی
ارسال شده توسط: alih_net در 19 آبان 1394، 05:34 ب‌ظ
پوشه ی var/www/ رو با دستور chown سطح دسترسیش رو به کاربر خودم دادم
این کار اشتباهه.
راه اصولی  اینه که یک پوشه در home خودتون بسازید و یک virtualhost به اون پوشه اختصاص بدین تا هر چی اونجا میذارین با آدرسی مثل  آدرس زیر سرو بشه.
127.0.0.1/~USERNAMEhttps://help.ubuntu.com/community/ApacheMySQLPHP
عنوان: پاسخ : اعمال نشدن سطح دسترسی
ارسال شده توسط: mojtaba.sln در 20 آبان 1394، 01:09 ق‌ظ
پوشه ی var/www/ رو با دستور chown سطح دسترسیش رو به کاربر خودم دادم
این کار اشتباهه.
راه اصولی  اینه که یک پوشه در home خودتون بسازید و یک virtualhost به اون پوشه اختصاص بدین تا هر چی اونجا میذارین با آدرسی مثل  آدرس زیر سرو بشه.
127.0.0.1/~USERNAMEhttps://help.ubuntu.com/community/ApacheMySQLPHP

سلام و ممنون بابت پاسختون...
اما باز داره همون ارور رو می ده!
همون ارور مشکلی رنگ که در پست اول گذاشتم !

وقتی با ویندوز کار می کنم چنین اروری نمی ده ، فقط توی اوبونتو که هستم چنین اروری می ده!
عنوان: پاسخ : اعمال نشدن سطح دسترسی
ارسال شده توسط: alih_net در 20 آبان 1394، 01:26 ق‌ظ
حساب‌کاربریتون رو عضو گروه www-data کردین؟
عنوان: پاسخ : اعمال نشدن سطح دسترسی
ارسال شده توسط: mojtaba.sln در 20 آبان 1394، 09:52 ب‌ظ
حساب‌کاربریتون رو عضو گروه www-data کردین؟

سلام...این چیزی که گفتید نمی دونم چیه!!!
می شه بگید چطور باید حساب کاربریمو عضو گروه www-data کنم؟؟

ممنون
عنوان: پاسخ : اعمال نشدن سطح دسترسی
ارسال شده توسط: alih_net در 21 آبان 1394، 02:02 ق‌ظ
sudo usermod -a -G www-data  USER
به جای USER اسم یوزر خودتونو بنویسید و بعد از این کار یک بار log out کنید.
عنوان: پاسخ : اعمال نشدن سطح دسترسی
ارسال شده توسط: mojtaba.sln در 21 آبان 1394، 12:56 ب‌ظ
sudo usermod -a -G www-data  USER
به جای USER اسم یوزر خودتونو بنویسید و بعد از این کار یک بار log out کنید.

ممنون از کمکتون...
قبل از این که شما پست آخرتون رو بذارید جایی خوندم و دستور زیر ور وارد کردم :
chmod -R 07777 /var/www
و مشکلم حل شد...
حالا که مشکل حل شده بازم لازمه کاری که شما گفتید رو انجام بدم یا نه؟؟؟

و یه خواهشی داشتم این که اگه می شه لطف کنید این دستوری که دادید رو در موردش توضیح بدید ...
مثلا این که a- یا G- چی هست؟؟؟ یا این که گروه www-data چی هست؟؟

خیلی خیلی ممنون
عنوان: پاسخ : اعمال نشدن سطح دسترسی
ارسال شده توسط: alih_net در 22 آبان 1394، 02:43 ق‌ظ
قبل از این که شما پست آخرتون رو بذارید جایی خوندم و دستور زیر ور وارد کردم :
chmod -R 07777 /var/wwwو مشکلم حل شد...
حالا که مشکل حل شده بازم لازمه کاری که شما گفتید رو انجام بدم یا نه؟؟؟

با این کار به همه اجازه خوندن و نوشتن و اجرا کردن دادین که از نظر امنیتی اصلا پیشنهاد نمیشه. بهتر بود با دستوری که دادم کاربر خودتون رو عضو گروهی بکنید که اجازه نوشتن روی اون پوشه رو داره.
نقل‌قول
و یه خواهشی داشتم این که اگه می شه لطف کنید این دستوری که دادید رو در موردش توضیح بدید ...
مثلا این که a- یا G- چی هست؟؟؟ یا این که گروه www-data چی هست؟؟


در کل بهترین راه یادگیری آپشن های هر دستور ، استفاده از manual page اونه. مثلا میتونی در ترمنیال وارد کنی

man usermod
تا هر چی که در مورد این دستور لازمه رو یادبگیری.

اما به طور خلاصه ، a به معنی append هست و G به معنی Group و اون دستور داره میگه : کاربر USER رو به گروه www-data اضافه کن.
عنوان: پاسخ : اعمال نشدن سطح دسترسی
ارسال شده توسط: mojtaba.sln در 28 آبان 1394، 04:39 ب‌ظ
قبل از این که شما پست آخرتون رو بذارید جایی خوندم و دستور زیر ور وارد کردم :
chmod -R 07777 /var/wwwو مشکلم حل شد...
حالا که مشکل حل شده بازم لازمه کاری که شما گفتید رو انجام بدم یا نه؟؟؟

با این کار به همه اجازه خوندن و نوشتن و اجرا کردن دادین که از نظر امنیتی اصلا پیشنهاد نمیشه. بهتر بود با دستوری که دادم کاربر خودتون رو عضو گروهی بکنید که اجازه نوشتن روی اون پوشه رو داره.
نقل‌قول
و یه خواهشی داشتم این که اگه می شه لطف کنید این دستوری که دادید رو در موردش توضیح بدید ...
مثلا این که a- یا G- چی هست؟؟؟ یا این که گروه www-data چی هست؟؟


در کل بهترین راه یادگیری آپشن های هر دستور ، استفاده از manual page اونه. مثلا میتونی در ترمنیال وارد کنی

man usermod
تا هر چی که در مورد این دستور لازمه رو یادبگیری.

اما به طور خلاصه ، a به معنی append هست و G به معنی Group و اون دستور داره میگه : کاربر USER رو به گروه www-data اضافه کن.

سلام و وقت بخیر...
سیستم عاملمو به 15.10 ارتقاء دادم و همونطور که شما گفتید عمل کردم.یعنی اول یه virtual host ساختم و بعد هم حساب کاربری خودمو وارد گروه www-data کردم.
اما مشکل حل شد یه مشکل دیگه پیش اومد.
الان PHP می تونه فایل ایجاد کنه یا تغییر بده ، اما خودم دیگه نمی تونم این کارو کنم.هر فایلی رو تغییر می دم ، موقع ذخیره ارور می ده که unable ...
چیکار کنم که هیچ کدوم از مشکلا برام پیش نیاد؟؟؟
داخل فولدر virtual host هم که می رم روی تمام فولدر ها و فایل ها آیکن قفل گذاشته شده!

دقیقا کارایی که کردم این بود :
اول با دستور زیر حساب کاربریم رو عضو گروه www-data کردم:
sudo usermod -a -G www-data mojtabaبعد هم با دستور زیر مالکیت فولدر هاست مجازی رو به www-data دادم:
sudo chown -R www-data mysite
ببخشید می شه 5 دقیقه از وقت ارزشمندتون رو بذارید و بنده رو کامل راهنمایی کنید؟؟؟..ممنون
عنوان: پاسخ : اعمال نشدن سطح دسترسی
ارسال شده توسط: Ma3X در 28 آبان 1394، 10:34 ب‌ظ
پنج دقیقه؟! (:
خب ببین ما توی یونیکس یه چیزی داریم به نام سطح دسترسی، که به تفکیک، برای [مالک فایل، گروهی که فایل متعلق به اون هست و هر چیز دیگه‌ای غیر از این‌دوتا] برای دسترسی به یک فایل مجوز تعیین میشه.
حالا سه نوع دسترسی داریم؛ خوندن، نوشتن و اجرا کردن. بعدش به هر کدوم از این‌ها یه عدد می‌دیم؛ خوندن 4، نوشتن 2 و اجرا کردن 1. و با ترکیب این اعداد حالت‌های ترکیبی می‌سازیم. مثلا 6 ترکیب 4 و 2 هست. یعنی امکان خوندن از و نوشتن روی فایل وجود داره، اما اجازه اجرا وجود نداره. یا 0 یعنی محتوای فایل، قابل خوندن، نوشتن و اجرا کردن نیست.
این مجوزها سه تایی هستن، مثلا 644 یا 740. عدد اول مربوط به مالک فایل، عدد دوم مربوط به گروه فایل و عدد سوم مربوط به «دیگران» هستش.
پس مثلا 775 یعنی مالک فایل و اعضای گروه فایل امکان خوندن، نوشتن و اجرا کردن، و دیگران فقط مجوز خوندن و اجرا کردن دارند.
مثلا وقتی که میگی:
chgrp -R www-data /var/www
chmod -R 775 /var/www
اگر توی گروه www-data باشی، می‌تونی فایل‌های توی var/www/ رو ببینی، ویرایش یا حدف کنی و اجرا کنی.

____________________________
پ.ن: مجوزهای دسترسی یک معادل حرفی (علاوه بر عددی) دارند؛
- r (مخفف read) برای خوندن.
- w (مخفف write) برای نوشتن.
- x (مخفف execute)  برای اجرا کردن.
این مجوزها رو با + نصب و با - عزل می‌کنیم؛
chmod -w my_file
chmod +x the_script
عنوان: پاسخ : اعمال نشدن سطح دسترسی
ارسال شده توسط: mojtaba.sln در 28 آبان 1394، 11:01 ب‌ظ
پنج دقیقه؟! (:
خب ببین ما توی یونیکس یه چیزی داریم به نام سطح دسترسی، که به تفکیک، برای [مالک فایل، گروهی که فایل متعلق به اون هست و هر چیز دیگه‌ای غیر از این‌دوتا] برای دسترسی به یک فایل مجوز تعیین میشه.
حالا سه نوع دسترسی داریم؛ خوندن، نوشتن و اجرا کردن. بعدش به هر کدوم از این‌ها یه عدد می‌دیم؛ خوندن 4، نوشتن 2 و اجرا کردن 1. و با ترکیب این اعداد حالت‌های ترکیبی می‌سازیم. مثلا 6 ترکیب 4 و 2 هست. یعنی امکان خوندن از و نوشتن روی فایل وجود داره، اما اجازه اجرا وجود نداره. یا 0 یعنی محتوای فایل، قابل خوندن، نوشتن و اجرا کردن نیست.
این مجوزها سه تایی هستن، مثلا 644 یا 740. عدد اول مربوط به مالک فایل، عدد دوم مربوط به گروه فایل و عدد سوم مربوط به «دیگران» هستش.
پس مثلا 775 یعنی مالک فایل و اعضای گروه فایل امکان خوندن، نوشتن و اجرا کردن، و دیگران فقط مجوز خوندن و اجرا کردن دارند.
مثلا وقتی که میگی:
chgrp -R www-data /var/www
chmod -R 775 /var/www
اگر توی گروه www-data باشی، می‌تونی فایل‌های توی www-data رو ببینی، ویرایش یا حدف کنی و اجرا کنی.

____________________________
پ.ن: مجوزهای دسترسی یک معادل حرفی (علاوه بر عددی) دارند؛
- r (مخفف read) برای خوندن.
- w (مخفف write) برای نوشتن.
- x (مخفف execute)  برای اجرا کردن.
این مجوزها رو با + نصب و با - عزل می‌کنیم؛
chmod -w my_file
chmod +x the_script


سلام..
آقا خدا خیرت بده...همین وقتی که گذاشتی و این پست رو نوشتی مشکل منو حل کرد.
نمی دونم شما چقدر برای این پست وقت گذاشتی..اما اینقدری خلاصه و مفید بود که برای من 5 دقیقه طول کشید تا یادش بگیرم...
واقعا ممنون =D>