تعیین مجوز دسترسی در Cents os

مشخصات کلی :
CentOs7+Nginx+uwsgi+django

image

‌فایل لاگ

ممنون میشم راهنمایی بفرمایین واقعا دیگه گیج شدم :tired_face:

image

مشکل چیه؟ دسترسی به چی؟
لاگ و ندیدم :shushing_face:

1 پسندیده

مشکل اینجاست که nginx نمیتونه فایل های استاتیک رو اجرا کنه توی لاگ اررور مینویسه permission denied و اینه سیستم سرور centos هست و کاملا بی تجربه ام با کلی مکافات تونستم راش بندازم همین یه مشکل مونده که باید دسترسی به فایل ها را تنظیم کنم که نمیدونم چطوری :face_with_monocle:

من این مشکلو با SELinux داشتم, یکی از تسک های Ansible غیر فعال کردن SELinux بود جایی که واقعا لازمش نداشتم.

اگر نمیخوای diable کنی احتمالا کلی سرگرمی داری برای config کردنش, اما اول disable کن ببین درست میشه یا نه.

https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/security-enhanced_linux/sect-security-enhanced_linux-enabling_and_disabling_selinux-disabling_selinux

1 پسندیده

در مورد SELinux هم مطالبی دیدم و فرماناشو اجرا کردم ولی فرجی حاصل نشد . واقعا این همه پیچیدگی لازمه ؟ :sweat_smile: از وقتی که شروع کردم روزانه حداقل ۱۰ تا اسم جدید میبینم :sweat_smile:

چه کاری غز دستم برمیاد که اینو درست کنم ؟ اصلا permission ها چطوری قابل دسترسی همه یوزر ها کنم شررش کم شه :grin:

getenforce وضعیت SELInux و نشون میده.
پیچیدگی خوب نیست اما RedHat هدفی داشته.

getenforce چی میگه ?

getenforce رو توی ترمینال تایپ کن ببین نتیجه چیه, بعد از disable کردن reboot.

ار درست نشد موارد دیگه چک میکنیم

image

غیر فعالش کردم الان هر چی که هست و یبار ریستارتم میکنم محض اطمینان

log تغییر نکرد؟

همچنان با اررور عدم مجوز دسترسی مواجه میشم . یه دستوری بود chmod اینجور چیزی ، ۶۵۰ ، ۷۱۰ از اینا به نظرتون نباید استفاده کنم توی دایرکتوری ؟

اول دسترسی ها رو چک‌کن بعد با chmod اصلاح کن. میتونی از فایلی که مشکل داره شروع کنی
Nginx نیاز به ریستارت داره بعدش

1 پسندیده

روم سیاه نمیدونم دقیقا چطوری باید چک کرد و اصلاحش کرد :sweat:
مثلا این اولین فایل

image

ls -la

https://www.pluralsight.com/blog/it-ops/linux-file-permissions

1 پسندیده

احتمال خیلی خیلی زیاد با این لینک بتونم جواب بگیرم کمی دیر وقته اینجا ولی صبح اول وقت نتیجه رو حتما اطلاع میدم . خیلی ممنونم

1 پسندیده

بسیار عالی بل اخره اونقدر دنبایش رفتم تا پیدا شد . استفاده خاصی داره این مجوز دسترسی توی لینوکس ؟
‍‍

sudo chmod 777 `file`

انجام دادم ولی درست درکش نکردم :roll_eyes:

sudo find /path/to/www/root -type d -print0 | xargs -0 chmod 750
sudo find /path/to/www/root -type f -print0 | xargs -0 chmod 640
1 پسندیده

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

find . -type d -print -exec chmod 755 {} \;

find . -type f -print -exec chmod 644 {} \;

find . -type f -name "*.cgi" -print -exec chmod 755 {} \;

find . -type f -name "*.pl" -print -exec chmod 755 {} \;

تک فایل Permissions دادن

chmod 644 <file-name>

chmod 755 <directory-name>

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

2 پسندیده

کاشکی اینو دیشب پیذا میکردم تا صبح دوره خودم چرخیدم دونه دونه درستشون کردم ولی این روش یجا خیلی مفید بود :muscle:

شرمنده من دیشب پست شما رو خوندم فکر می کردم یک مشکل دیگری در دسترسی دارید نه ست کردن وگرنه همون دیشب قرار می دادم .

1 پسندیده

حس قشنگیه اررور لاگ اینطوری سفید باشه :rofl:

1 پسندیده

من فکر کردم chmod و خودت انجام‌دادی :smile:

1 پسندیده