ریست پرمیشن هاست سی پنل از SSH
پرمیشن ها، سطح دسترسی هایی هستند که به فایل ها و دایرکتوری ها در هاست داده می شود. در این مقاله از صباهاست، قصد داریم نحوه ریست کردن تمامی پرمیشن ها برای فایل ها و دایرکتوری ها در هاست cPanel را از طریق سرویس SSH به شما آموزش دهیم.
ریست کردن دسترسی ها در هاست، از طریق اس اس اچ، برای مدیران سرور ها کاربرد دارد و کاربران عادی، تنها از طریق کنترل پنل هاست خود می توانند، تغییرت ایجاد کنند.
در ابتدا به منظور یادآوری، توضیحی درباره Permission ها در هاست خواهیم داد و پس از آن نحوه ریست پرمیشن هاست سی پنل از SSH را آموزش خواهیم داد. با ما همراه باشید.
Permission چیست و چه کاربردی دارد؟
به صورت خیلی ساده اگر بخواهیم Permission را تعریف کنیم، می توان گفت، پرمیشن نوعی سطح دسترسی است که به فایل ها یا دایرکتوری های درون یک host داده می شود. این پرمیشن ها با عدد های مختلفی قابل تنظیم هستند.
اما اگر به اشتباه تنظیم شوند، دسترسی به یک فایل یا صفحه در وب، برای عموم محدود خواهد شد. برای مثال، اگر صفحه ادمین وردپرس یک سایت را پرمیشن محدودی دهیم، افرادی خاص فقط امکان دسترسی به این صفحه را خواهند داشت. از پرمیشن ها استفاده های بسیار زیادی می شود و مبحث بسیار گسترده ای دارد.
حتماً برای شما پیش آمده است که در حین ورود به صفحه ای از یک وب سایت، خطایی با عنوان 403 Forbidden مشاهده کرده باشید، این خطا در واقع خطای سطح دسترسی است که به شما می گوید، شرایط لازم برای داشتن دسترسی به این صفحه را ندارید.
حالا اگر برای صفحه ای به اشتباه سطح دسترسی محدودی قرار داده شود، چه اتفاقی می افتد؟ واضح است، این صفحه قابل دسترسی نخواهد بود، مگر آنکه مدیر سایت اقدام به اصلاح سطح دسترسی صفحه مذکور کند.
انواع پرمیشن ها در هاست
در این قسمت انواع پرمیشن ها در هاست را به صورت خیلی کلی توضیح خواهیم داد:
- Read یا خواندن:
اگر به یک فایل یا دایرکتوری پرمیشن read داده شود، به این معناست که می توانیم اطلاعات آن را ببینیم ولی تغییری نمی توانیم در آن ایجاد کنیم. این پرمیشن با علامت r نمایش داده می شود. - Write یا نوشتن:
حالا اگر به فایلی پرمیشن write داده شود، به این معناست که می توانیم آن را ویرایش کنیم و در آن تغییراتی اعمال کنیم. این پرمیشن با علامت w نمایش داده می شود. - Execute یا اجرا:
و اما پرمیشن execute که به معنای امکان اجرای یک فایل خاص است. این پرمیشن با علامت x نمایش داده می شود. انواع
سطوح دسترسی در هاست
هر پرمیشنی به یک سطح دسترسی داده می شود، در اینجا انواع سطوح دسترسی را معرفی خواهیم کرد:
- سطح دسترسی User یا کاربر:
بالاترین سطح دسترسی می باشد که به کاربر یا یوزر داده می شود. - سطح دسترسی Group یا گروه:
این سطح دسترسی، خود تابع سطح دسترسی یوزر می باشد. - سطح دسترسی World یا عمومی:
یک سطح دسترسی جهانی هست و برای تمام کاربران وب که وب سایت را مشاهده می کنند. - سطح دسترسی های مجاز در هاست:
از رایج ترین و پر کاربرد ترین سطوح دسترسی فایل ها و دایرکتوری ها در هاست، می توان به موارد زیر اشاره کرد:
- کد 600: این پرمیشن، دسترسی به فایل را غیر ممکن می سازد.
- کد 644: این پرمیشن، فایل ها را قابل دسترسی برای عموم می سازد.
- کد 666: این پرمیشن، فایل ها را قابل دسترسی برای خواندن و نوشتن می سازد.
- کد 755: این پرمیشن، فایل ها را قابل خواندن و اجرا شدن می سازد.
- کد 777: این پرمیشن، فایل ها را برای نوشتن و اجرا کردن قابل دسترس عموم می سازد. در استفاده از این پرمیشن بسیار دقت کنید.
نکته مهم: اگر هر یک از این سطوح دسترسی به اشتباه تنظیم شوند، در صفحات سایت خود با خطای Internal Server Error 500 ممکن است مواجه شوید. پس تنها در صورت لزوم اقدام به تغییر سطح دسترسی ها کنید و اگر اطلاعات کافی در مورد کد ها و دسترسی هایی که می دهند ندارید، حتماً با یک متخصص در این حوزه مشورت کنید.
تا این قسمت از مقاله، سعی کردیم شما را با مبحث پرمیشن ها و سطوح دسترسی تا حدودی آشنا کنیم تا درک بهتری از این مبحث داشته باشید. در ادامه به سراغ موضوع اصلی این آموزش، یعنی ریست کردن پرمیشن ها در سی پنل از طریق SSH می رویم.
چرا باید پرمیشن ها را ریست کنیم؟
همانطور که در قسمت قبل اشاره شد، تنظیم کردن اشتباه پرمیشن ها در هاست، منجر به بروز خطای Internal Server Error 500 خواهد شد.
بنابراین اگر شما یک کاربر ساده باشید، نیاز دارید از مدیر هاستینگ خود درخواست ریست پرمیشن ها را کنید. اما اگر مدیر یک سرور هستید، حتماً نیازمند این مورد خواهید شد، که به درخواست کاربرانتان پرمیشن های هاست را ریست کنید تا به صورت پیشفرض یا Default تغییر کنند.
آموزش ریست پرمیشن هاست سی پنل از SSH
برای reset کردن permission ها در هاست cpanel از طریق ssh، مراحل زیر را انجام می دهیم:
ابتدا نرم افزار PuTTY را اجرا می کنیم تا به SSH سرور مورد نظر وصل شویم.
- سپس با یوزر root لاگین می کنیم.
- کد زیر را برای دسترسی به پوشه public_html هاست وارد می کنیم:
cd /home/yourdomain/public_html/
- دقت کنید به جای yourdomain باید نام دامنه یوزری که قصد ریست پرمیشن هاست آن را دارید وارد کنید.
- با این دستور، پرمیشن تمامی دایرکتوری ها یا پوشه ها را به کد 755 که پرمیشن دیفالت آن است، تغییر می دهیم:
find . -type d -exec chmod 755 {} \;
- سپس با کد زیر، پرمیشن تمامی فایل ها را به کد 644 که پرمیشن دیفالت آن است، تغییر می دهیم:
find . -type f -exec chmod 644 {} \;
- در نهایت اجرای این کد ها بسته به تعداد فایل ها و دایرکتوری های موجود در این یوزر، ممکن است سریع انجام شود و یا کمی زمانبر شود. بنابراین تا اتمام کار سرور، صبر کنید.
اسکریپتی که در این قسمت می خواهیم با آن کار کنیم، به ما در بازنشانی یا reset کردن پرمیشن فایل ها و دایرکتوری ها در یک user account در سی پنل کمک می کند. با استفاده از این اسکریپت، به راحتی تمامی سطح دسترسی های فایل های موجود در پوشه public_html بر روی کد 0644 و تمامی دایرکتوری ها بر روی کد 0755 تنظیم می شوند.
چرا باید از این اسکریپت استفاده کنیم؟
با استفاده از این اسکریپت، علاوه بر ریست کردن permission ها در هاست سی پنل، می توانیم مالیکت اکانت ها را نیز تغییر دهیم. برای مثال زمانی که یک اکانت را به سروری جدید منتقل می کنیم و یا نام آن را تغییر می دهیم، ممکن است دارای owner اشتباهی شود. بنابراین لازم است owner اکانت ها نیز علاوه بر permission آن ها تغییر کند.
نکات مهم قبل از شروع
- ابتدا از طریق اکانت root به سرویس ssh سرور متصل می شویم.
- در اختیار داشتن نام اکانتی که می خواهیم owner و permission آن را ریست کنیم.
- اسکریپت fixperm. sh را از قبل بر روی مسیر root/fixperm. sh نصب کرده باشیم.
- {username} را با نام کاربری که می خواهیم ریست کنیم، جایگزین می کنیم.
/root/fixperms. sh {username}
- در مرحله بعدی، با وارد کردن کد زیر، تمامی یوزر های روی سرور و پرمیشن های آن ها به حالت پیشفرض، ریست خواهند شد. بعد از اجرای کد، اگر یوزر های روی سرور زیاد باشند، ممکن است کمی زمانبر باشد.
for i in `ls -A /var/cpanel/users` ; do . /root/fixperms. sh $i ; done
- به همین راحتی، تمامی پرمیشن های هاست سی پنل ما از ssh بازنشانی شدند.
جمع بندی
به پایان مقاله آموزش ریست پرمیشن هاست cpanel از طریق ssh در صباهاست رسیدیم، امیدواریم این مقاله آموزشی برای شما کاربردی بوده باشد و توانسته باشیم، اطلاعات مفیدی را در اختیار شما قرار دهیم. همانطور که در ابتدای مقاله توضیحاتی مختصر درباره پرمیشن ها، انواع آن ها و سطوح دسترسی دادیم، ممکن است که، تنظیم اشتباه آن ها منجر به بروز خطا در سایت شده و یا دسترسی های مهم مخاطبین سایت را به اشتباه محدود سازی کنیم که ضرر زیادی به رتبه و سئوی سایت ما خواهد زد. بنابراین حتماً در تغییر پرمیشن ها چه برای خود و چه برای کاربرانتان بسیار دقت کنید و قبل از اجرای هر کد در SSH، حتماً با یک فرد متخصص مشورت کنید.
امیدواریم این مقاله برایتان مفید واقع شده باشد. اگر سوالی دارید که در این مقاله پاسخش را پیدا نکردید، در قسمت کامنت ها سوال خود را مطرح کنید، کارشناسان ما در کمتر از چند دقیقه به سوالات پاسخ خواهند داد.
این مقاله را با دوستان خود به اشتراک بگذارید.