انجمنهای فارسی اوبونتو
تازه کار => انجمن تازهکاران => نویسنده: 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
ممنون می شم دوستان راهنمایی کنند...
فقط این رو بگم که در قسمت تازه وارد ها سوال کردم...پس به اندازه ی سواد من تازه کار توضیح بفرمایید..
پیشاپیش ممنون بابت راهنمایی هاتون
-
پوشه ی var/www/ رو با دستور chown سطح دسترسیش رو به کاربر خودم دادم
این کار اشتباهه.
راه اصولی اینه که یک پوشه در home خودتون بسازید و یک virtualhost به اون پوشه اختصاص بدین تا هر چی اونجا میذارین با آدرسی مثل آدرس زیر سرو بشه.
127.0.0.1/~USERNAME
https://help.ubuntu.com/community/ApacheMySQLPHP
-
پوشه ی var/www/ رو با دستور chown سطح دسترسیش رو به کاربر خودم دادم
این کار اشتباهه.
راه اصولی اینه که یک پوشه در home خودتون بسازید و یک virtualhost به اون پوشه اختصاص بدین تا هر چی اونجا میذارین با آدرسی مثل آدرس زیر سرو بشه.
127.0.0.1/~USERNAME
https://help.ubuntu.com/community/ApacheMySQLPHP
سلام و ممنون بابت پاسختون...
اما باز داره همون ارور رو می ده!
همون ارور مشکلی رنگ که در پست اول گذاشتم !
وقتی با ویندوز کار می کنم چنین اروری نمی ده ، فقط توی اوبونتو که هستم چنین اروری می ده!
-
حسابکاربریتون رو عضو گروه www-data کردین؟
-
حسابکاربریتون رو عضو گروه www-data کردین؟
سلام...این چیزی که گفتید نمی دونم چیه!!!
می شه بگید چطور باید حساب کاربریمو عضو گروه www-data کنم؟؟
ممنون
-
sudo usermod -a -G www-data USER
به جای USER اسم یوزر خودتونو بنویسید و بعد از این کار یک بار log out کنید.
-
sudo usermod -a -G www-data USER
به جای USER اسم یوزر خودتونو بنویسید و بعد از این کار یک بار log out کنید.
ممنون از کمکتون...
قبل از این که شما پست آخرتون رو بذارید جایی خوندم و دستور زیر ور وارد کردم :
chmod -R 07777 /var/www
و مشکلم حل شد...
حالا که مشکل حل شده بازم لازمه کاری که شما گفتید رو انجام بدم یا نه؟؟؟
و یه خواهشی داشتم این که اگه می شه لطف کنید این دستوری که دادید رو در موردش توضیح بدید ...
مثلا این که a- یا G- چی هست؟؟؟ یا این که گروه www-data چی هست؟؟
خیلی خیلی ممنون
-
قبل از این که شما پست آخرتون رو بذارید جایی خوندم و دستور زیر ور وارد کردم :
chmod -R 07777 /var/www
و مشکلم حل شد...
حالا که مشکل حل شده بازم لازمه کاری که شما گفتید رو انجام بدم یا نه؟؟؟
با این کار به همه اجازه خوندن و نوشتن و اجرا کردن دادین که از نظر امنیتی اصلا پیشنهاد نمیشه. بهتر بود با دستوری که دادم کاربر خودتون رو عضو گروهی بکنید که اجازه نوشتن روی اون پوشه رو داره.
و یه خواهشی داشتم این که اگه می شه لطف کنید این دستوری که دادید رو در موردش توضیح بدید ...
مثلا این که a- یا G- چی هست؟؟؟ یا این که گروه www-data چی هست؟؟
در کل بهترین راه یادگیری آپشن های هر دستور ، استفاده از manual page اونه. مثلا میتونی در ترمنیال وارد کنی
man usermod
تا هر چی که در مورد این دستور لازمه رو یادبگیری.
اما به طور خلاصه ، a به معنی append هست و G به معنی Group و اون دستور داره میگه : کاربر USER رو به گروه www-data اضافه کن.
-
قبل از این که شما پست آخرتون رو بذارید جایی خوندم و دستور زیر ور وارد کردم :
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 دقیقه از وقت ارزشمندتون رو بذارید و بنده رو کامل راهنمایی کنید؟؟؟..ممنون
-
پنج دقیقه؟! (:
خب ببین ما توی یونیکس یه چیزی داریم به نام سطح دسترسی، که به تفکیک، برای [مالک فایل، گروهی که فایل متعلق به اون هست و هر چیز دیگهای غیر از ایندوتا] برای دسترسی به یک فایل مجوز تعیین میشه.
حالا سه نوع دسترسی داریم؛ خوندن، نوشتن و اجرا کردن. بعدش به هر کدوم از اینها یه عدد میدیم؛ خوندن 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
-
پنج دقیقه؟! (:
خب ببین ما توی یونیکس یه چیزی داریم به نام سطح دسترسی، که به تفکیک، برای [مالک فایل، گروهی که فایل متعلق به اون هست و هر چیز دیگهای غیر از ایندوتا] برای دسترسی به یک فایل مجوز تعیین میشه.
حالا سه نوع دسترسی داریم؛ خوندن، نوشتن و اجرا کردن. بعدش به هر کدوم از اینها یه عدد میدیم؛ خوندن 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>