رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
سطح دسترسی
#1
سلام دوستان. چرا وقتی یک اسکریپتی رو با سطح دستسرس 644 ، مستقیما در cronjob وارد میکنم اجرا میشه، ولی وقتی از طریق اسکریپت دیگری و با pcntl_fork میخوام این اسکریپت رو اجرا کنم اررور premission denied میده و سطح دسترسی 755 میخواد؟

اگر سطح دسترسی این فایل رو 755 کنم در صورتی که با htaccess جلوی ورود از طریق وب گرفته شده، دیگه مشکل امنیتی خاصی نداره؟
پاسخ
تشکر شده توسط:
#2
چون کاربری که اجراشون میکنه فرق داره. توی حالت pcntl_fork و اجرا ازطریق خط فرمان داره توسط کاربر شما توی هاست و در حالت cron jobs داره توسط کاربر آپاچی اجرا میشه. اگه دسترسی رو محدود کنید مشکل خاصی وجود نداره.
پاسخ
تشکر شده توسط: php , Eshpilen
#3
فکر نمیکنم در cronjob آپاچی فایل رو اجرا کنه، چون cronjob رو به صورت wget file.php یا curl file.php اضافه نکردم. بلکه به صورت php file.php اضافه کردم.

کلا این آپاچی جزو کدوم دسته از owner/group/others محسوب میشه؟
پاسخ
تشکر شده توسط: Eshpilen
#4
خودش گروه داره www-data

میتونید برای اطمینان توی اسکریپت خودتون دستور whoami رو با shell_exec اجرا کنید و خروجی اون رو توی فایل بریزین تا ببینید کدوم کاربر فایلتون رو اجرا کرده.
پاسخ
تشکر شده توسط: php , Eshpilen
#5
آقای شهرکی نمیشه یکجوری این گروه کاربری Pcntl_fork رو عوض کنم، مثلا به همون گروه آپاچی ببرمش که لازم نباشه به فایل ها سطح دسترسی بیشتر ندم؟
مثلا الان فولدر Include من، که حاوی کلاس ها و کتابخونه های اسکریپته، داخلش یک فایلی بود که من اونو از طریق یک اسکریپت دیگه pnctl_fork میکردم که اولش دیدم اجرا نمیشه سطح دسترسی اون فایل رو از 644 به 755 تغییر دادم. الان باز متوجه شدم بازم اجرا نمیشه چون داخل این فایل کلی از کتابخونه ها و کلاس های دیگه هم فراخوانی میشن که باید اونا رو هم 755 کنم. اینجوری باید کل فولدر Include رو 755 کنم. راهی نیست اینکار رو نکنم؟
پاسخ
تشکر شده توسط:




کاربران در حال بازدید این موضوع: 1 مهمان