PDA

View Full Version : سوال: کاربرد chmod چیست؟



armsoftpc
چهارشنبه 31 خرداد 1391, 11:33 صبح
به نام خدا
با سلام
می خواستم ، معنای اعدادی که در chmod (منظور در تابع mkdir و خود این تابع) چیست و اصلا چه کاربردی دارد،
البته خودم میدونم در مورد امنیت است، اما اگر از آن استفاده نکنیم ، چه جوری سایت مورد تهدید واقع می شود.
با تشکر

Yousha
چهارشنبه 31 خرداد 1391, 14:50 عصر
اطلاعاتت دست و پا شکسته و ناقصه...
chmod یک دستوری لینوکسی هستش که سطوح (یا مجوز) دسترسی به فایل و پوشه رو تعیین میکنه - مثلاً اجازه writable/readonly/executable رو به هدف واگذار میکنه
مخفف changeMode هم هستش

اطلاعات بیشتر در موزد اعدادش هم اینجاست:
http://www.mediacollege.com/linux/command/chmod.html
http://www.computerhope.com/unix/uchmod.htm

armsoftpc
چهارشنبه 31 خرداد 1391, 15:07 عصر
با سلام
ممنون ، اما 2 تا سوال پیش می آید.
1. آیا اصلا توی ویندوز این دستور کار نمی کند (به خصوص در تابع mkdir که پوشه ایجاد میکنیم.)، {از حرفاتون میشد ، این نکته رو برداشت کرد.}
2.اگر از آن استفاده نکنیم ، آیا میتونه امنیت سایت رو زیر سوال ببره؟!:متفکر:

pejman_view
چهارشنبه 31 خرداد 1391, 16:13 عصر
سلام

1- در ویندوز کار نمی کند چون در ویندوز بجای CHMOD ، بحث Permission هست که همان است فقط فرق 2 تا سیستم عامل است.
2- خوب حالا یه سری توضیح می دهم شاید متوجه شوید فرض کنید فولدری به نام آپلود درست کردید و CHMOD آن را 0775 گذاشتید و در آن می خواهید از طریق یک کد پی اچ پی فایل آپلود کنید حتماً با خطا روبرو می شوید
چون کد پی اچ پی بعنوان یک نرم افزار دیگر دسترسی دارد ترتیب دسترسی ها اولین 7 برای صاحب، دومین 7 برای کاربر و سومین عدد که 5 است برای دیگر موارد است که پی اچ پی دسترسی اش جزء دیگر موارد است.

READ: ارزش 4 - به استفاده کننده اجازه خواندن نام فایل را می دهد.
EXECUTE: ارزش 2 - به کاربر اجازه می دهد که نرم افزارهای باینری مانند سی و اسکریپتی مانند پی اچ پی اجرا کند
WRITE: ارزش 1- به کاربر اجازه می دهد که فایل بسازد، فایل را تغییر نام دهد، پاک کند و ...
نحوه محاسبه این کدها: هر کدام از موارد را که احتیاج فعال باشد ارزشش را جمع می کنید و به ترتیب GROUP OWNER- USER- OTHER

حالا به نظرتان اگر در قسمت کدهای پی اچ پی که نیاز به تغییر ندارند شما پرمیشن 0777 بدهید نقص امنیتی بوجود نمی آورد؟
باید بدانید پرمیشن 777 را هر جا وارد نکنید اگر فولدری نیاز به تغییر ندارد به آن اجازه 0775 بدهید.

امیدوارم که گویا بوده باشه.
با آرزوی موفقیت

Yousha
چهارشنبه 31 خرداد 1391, 17:36 عصر
1- در ویندوز کار نمی کند چون در ویندوز بجای CHMOD ، بحث Permission هست که همان است فقط فرق 2 تا سیستم عامل است.
خود دستور در console ویندوز کار نمی کنه ولی در php ویندوز کار میکنه - از API همون attribute ویندوز استفاده میکنه

eshpilen
چهارشنبه 31 خرداد 1391, 18:44 عصر
EXECUTE: ارزش 2 - به کاربر اجازه می دهد که نرم افزارهای باینری مانند سی و اسکریپتی مانند پی اچ پی اجرا کند

درسته، و جهت تکمیل مطلب عرض کنم که پرمیشن EXECUTE معمولا برای دایرکتوری ها نیازه، چون اگر بخوایم به مسیری که اون دایرکتوری رو شامل میشه دسترسی داشته باشیم باید این پرمیشن رو داشته باشیم.
ضمنا برای فایلهای PHP معمولا نیاز به پرمیشن اجرا نیست، چون معمولا بصورت مستقیم اجرا نمیشن و توسط آپاچی خونده و تحویل مفسر PHP میشن که مفسر PHP هم اونا رو پردازش میکنه. درواقع عملیات مورد نیاز خواندن محتوا هست و بنابراین پرمیشن Read کافیه.