رفع پرمیشن ها در دایرکت ادمین

سلام
من با استفاده از ssh یک فایل رو ایجاد کردم و اون فایل از اکانت یوزر قابل ویرایش نبود. واسه همین از ssh خواستم تا permission اش رو تغییر بدم…
گفتم خب کلا همه رو تغییر بدم پس کامند زیر رو وارد کردم
chmod 664 -R /
کلا همه چی داغون شد و نتونستم حتی وارد دایرکت ادمین بشم!
الان ssh هم دیگه کار نمیکنه
باید چیکار کنم؟

سلام

دستوری که زدین کل پرمیشن کل سرور و تمامی فایل های داخل اون رو تغییر داده. تو محیط روت باید خیلی مراقب بود.

چه سیستم عاملی نصب کردید؟ حدس میزنم Centos 7 اگر خیر مشخص کنید تا دقیق تر بتونم راهنماییتون کنم.

دسترسی VNC دارید؟ فکر می کنم با دسترسی VNC بتونید وارد بشید.

بله centos7 هست
با وارد کردن این کامند ها توی vnc

# for p in $(rpm -qa); do rpm --setperms $p; done
# for p in $(rpm -qa); do rpm --setugids $p; done

دسترسیم به ssh برقرار شد اما نمیتونم وارد دایرکت ادمین بشم.

این ارور رو میده:

## Error: document not found

دستوراتی که زدین فقط RPM ها رو فیکس می کنه.

اگر واقعا اطلاعات مهمی رو این سرور ندارید، پیشنهاد می کنم سرور رو از صفر راه اندازی کنید. معلوم نیست کی گندش در بیاد، دستورسی که صادر کردین، دسترسی تمامی پوشه ها و فایل های سیستم عامل رو هم تغییر داده. این باعث میشه امنیت زیر سوال بره و شاید بعضی از بخش ها به دسترسی کار نکنه. اگر هم اطلاعات مهمی دارید، ابتدا از اطلاعات بک آپ تهیه کنید سپس سیستم عامل و دایرکت ادمین رو مجددا تنظیم کنید.

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

cd /usr/local/directadmin/scripts
./set_permissions.sh all

دستور بالا فقط خود دایرکت ادمین رو اصلاح می کنه، نه دایرکتوری وب سایت های میزبانی شده.

برای اینکه دسترسی فایل های داخل دایرکتوری که متعلق به یک دامنه هست رو اصلاح کنید دستور زیر رو صادر کنید:

./set_permissions.sh domaindir example.com

example.com رو با دامنه صحیح تغییر بدین.

البته همچنان پیشنهاد می کنم سیستم عامل و کنترل پنل رو مجددا نصب کنید.

ممنونم فعلا همه چی درست شد.
بک آپ میگیرم و سر فرصت انشالله ریست میکنم

فقط الان واسه ورود به phpmyadmin ارور میده:

Error during session start; please check your PHP and/or webserver log file and configure your PHP installation properly. Also ensure that cookies are enabled in your browser.

session_start(): open(SESSION_FILE, O_RDWR) failed: Permission denied (13)

session_start(): Failed to read session data: files (path: /var/www/tmp)

قاعدتا مشکل تغییر پرمیشن پوشه ها هست. برای ساخت session نیاز هست که مسیر /tmp و یا session دسترسی های لازمه رو داشته باشه.

دستور زیر رو بزنید:

chmod 777 /var/lib/php/session/
chmod 777 /var/www/tmp

بعد صدور دستور بالا httpd رو ری استارت کنید:

systemctl restart httpd

بروزرسانی: مطمین نیستم مسیر دایرکت ادمین برای پوشه tmp چیه. یه فایل phpinfo ایجاد کنید و patch دقیق رو پیدا کنید.

1 Like

خیلی متشکرم
فک کنم مشکلات رفع شدن خداروشکر

1 Like

وقتی با root وارد ssh میشدم و کد پایتون رو ران میکردم یک فایل میساخت که دیگه با اکانت user قابل ویرایش نبود واسه همین مجبور میشدم که پرمیژن رو عوض کنم.
گفتم بهتره با یوزر به ssh وارد بشم! رفتم و توی فایل کانفیگ ssh خط allowusers user رو اضافه کردم
ولی موقع ورود به ssh یوزر دچار مشکل شدم! به محض وارد کردن پسورد ارور SESSION STOPPED میاد و اصلا وارد نمیشه.

سلام

ببخشید من متوجه نشدم دقیق. مشکل رفع نشده هنوز یا فقط توضیح دادید که چی شده بود؟
قبلش فرمودید مشکلتون رفع شده.

1 Like

مشکلات کلی رفع شده بودن و الان مشکل خاصی وجود نداره. فقط الان با یکی دو تا مشکل جزئی رو به رو شدم…

یکی اینکه با یوزر نمیتونم به ssh وصل بشم فقط با root میتونم وصل شم (البته قبل از خراب شدن پرمیژن ها امتحان نکرده بودم ببینم با یوزر هم وصل میشه یا نه).

یکی هم اینکه توی phpmyadmin یک اخطار میاد:

The $cfg['TempDir'] (/var/www/html/phpMyAdmin-5.0.2-all-languages/tmp/) is not accessible. 
phpMyAdmin is not able to cache templates and will be slow because of this.

این دقیقا مشکل پرمیشن هست.
نمی تونه به پوشه tmp وصل شه به دلیل کمبود سطوح دسترسی.

قبلا هم بهتون توضیح دادم، هر جا رو درست کنید یه جا مشکل داره. متاسفانه دستوری که شما صادر کردید هیچ راه فیکس با یه دستور نداره، سطوح دسترسی فایل ها و پوشه ها در سیستم عامل و همه مواردی که روش نصب بود تغییر کرده.

شما الان مرحله به مرحله فیکس می کنید میرید جلو غافل از اینکه چه بخش های دیگه ای هنوز این مشکل رو دارن.
لطفا به این پیشنهاد من عمل کنید و سیستم عامل رو مجددا نصب کنید.

جدا از این مشکلات، سطوح دسترسی امنیتی هم کاملا به هم ریخته که می تونه ریسک امنیتی محسوب بشه. اگر در محیط توسعه هستید و قصد استفاده production از این سرور ندارید، برای یادگیری خوب است ولی اگر هدف راه اندازی پروژه ای است، کاملا فراموشش کنید.

1 Like

بله قصدش رو دارم که دوباره سیستم عامل رو مجدد نصب کنم.
اما زمان میبره و توی اون مدت رباتها خاموش میشن و کلی ضرر میکنم. :disappointed_relieved:
میخوام یک سرور جدید بخرم و کم کم انتقال بدم اما در طی این مدت مشکلات سرور فعلی رو هم حل کنم که هم نکات جدیدی یاد بگیرم هم اینکه دوستان انجمن اگر مشکل مشابهی واسشون پیش اومد با دیدن این تاپیک بتونن حلش کنن :innocent:

1 Like

راه اندازی مجدد و انتقال اطلاعات جمعا ۱ ساعت هم زمان نمیبره.
در ساعاتی در شب این کار رو انجام بدین.

1 Like