PDA

View Full Version : سوال: افزودن کاربران به یک گروه ایجاد شده توسط تابع chgrp



idocsidocs
دوشنبه 13 دی 1389, 01:17 صبح
وقتی بخوایم گروه یه فایل رو تغییر بدیم از تابع chgrp استفاده می کنیم.
تنها lمسئله ای که هست، اینه که لیست کاربران عضو یک گروه در کجا نگه داری می شه و چطوری می تونیم این لیست رو ویرایش کنیم؟

یعنی چطور می تونیم کاربرانی رو به گروه یک فایل اضافه کنیم یا کاربرانی رو از این لیست حذف کنیم؟

idocsidocs
دوشنبه 13 دی 1389, 13:41 عصر
وقتی بخوایم گروه یه فایل رو تغییر بدیم از تابع chgrp استفاده می کنیم.
تنها lمسئله ای که هست، اینه که لیست کاربران عضو یک گروه در کجا نگه داری می شه و چطوری می تونیم این لیست رو ویرایش کنیم؟

یعنی چطور می تونیم کاربرانی رو به گروه یک فایل اضافه کنیم یا کاربرانی رو از این لیست حذف کنیم؟

دوستان در این مورد مطلبی ندارن که ارائه بدن؟

eshpilen
سه شنبه 14 دی 1389, 22:50 عصر
مطمئنی دنبال ابزار درستی برای کار مورد نظر رفتی؟
فکر نمیکنم این تابع بدرد برنامه نویسی های معمول PHP بخوره. چون تابعی هست مربوط به سیستم فایل سیستم عاملهای خانوادهء یونیکس (عمدتا گنو/لینوکس).
فکر میکنم اینطور توابع برای نیازهای خاصی در سطح سیستم عامل هستن، نه اپلیکیشن های وب. اصلا شما یک اپلیکیشن PHP مینویسی نباید به نوع سیستم عامل چنین وابستگی اساسی ای داشته باشه (تاحد ممکن باید پرهیز بشه). بنابراین فکر میکنم اصلا راه رو اشتباه رفتی. دنبال چه کاری هستی؟ نیازت چیه؟ چطوری به این تابع رسیدی؟

idocsidocs
سه شنبه 14 دی 1389, 23:34 عصر
مطمئنی دنبال ابزار درستی برای کار مورد نظر رفتی؟
فکر نمیکنم این تابع بدرد برنامه نویسی های معمول PHP بخوره. چون تابعی هست مربوط به سیستم فایل سیستم عاملهای خانوادهء یونیکس (عمدتا گنو/لینوکس).
فکر میکنم اینطور توابع برای نیازهای خاصی در سطح سیستم عامل هستن، نه اپلیکیشن های وب. اصلا شما یک اپلیکیشن PHP مینویسی نباید به نوع سیستم عامل چنین وابستگی اساسی ای داشته باشه (تاحد ممکن باید پرهیز بشه). بنابراین فکر میکنم اصلا راه رو اشتباه رفتی. دنبال چه کاری هستی؟ نیازت چیه؟ چطوری به این تابع رسیدی؟

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

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

فکر کنم از این روش توی سایتهای آپلود عکس استفاده می شه.

من برای این کار می خوام از تابع chqrp استفاده کنم.

phpweb
چهارشنبه 15 دی 1389, 00:56 صبح
مطمئنی دنبال ابزار درستی برای کار مورد نظر رفتی؟
فکر نمیکنم این تابع بدرد برنامه نویسی های معمول PHP بخوره. چون تابعی هست مربوط به سیستم فایل سیستم عاملهای خانوادهء یونیکس (عمدتا گنو/لینوکس).
فکر میکنم اینطور توابع برای نیازهای خاصی در سطح سیستم عامل هستن، نه اپلیکیشن های وب. اصلا شما یک اپلیکیشن PHP مینویسی نباید به نوع سیستم عامل چنین وابستگی اساسی ای داشته باشه (تاحد ممکن باید پرهیز بشه). بنابراین فکر میکنم اصلا راه رو اشتباه رفتی. دنبال چه کاری هستی؟ نیازت چیه؟ چطوری به این تابع رسیدی؟

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

eshpilen
چهارشنبه 15 دی 1389, 00:58 صبح
منکه فکر نمیکنم این تابع برای چنین کاربردی درست و اصلا قابل استفاده باشه.
راهش پیاده سازی در منطق برنامه هست با روشهای دیگری. این تابع به هیچ دردی نمیخوره و اصولی نیست برای این کار. فکر هم نمیکنم توی هیچ نرم افزاری از این تابع استفاده بشه.

mtchabok
چهارشنبه 15 دی 1389, 09:35 صبح
سلام
این تابع برای گروه های خود سیستم عامل هست و فقط از طریق سرورهای مجازی و یا سرورهای اختصاصی می تونید از این قابیلت استفاده کنید .
اگه دارای هاست اشتراکی هستید این امکان به شما داده نمی شه که بتونید گروه ایجاد و یا ویرایش کنید و به صورت معمول یک گروه برای کل فایلهای شما در هاست اشتراکی تعیین میشه و شما امکان تغییر گروهرو ندارید .
ولی اگه دارای سرور اختصاصی و یا مجازی هستید ، فک کنم که باید دسترسی به امکانات سرور داشته باشید تا بتونید گروه ایجاد و یا ویرایش کنید و یا لیست گروه ها رو ببینید و در php من تا الان تابعی رو برای اینکار ندیدم مگر اینکه بخواهید از پوسته os در php استفاده کنید .

idocsidocs
چهارشنبه 15 دی 1389, 15:51 عصر
سلام
این تابع برای گروه های خود سیستم عامل هست و فقط از طریق سرورهای مجازی و یا سرورهای اختصاصی می تونید از این قابیلت استفاده کنید .
اگه دارای هاست اشتراکی هستید این امکان به شما داده نمی شه که بتونید گروه ایجاد و یا ویرایش کنید و به صورت معمول یک گروه برای کل فایلهای شما در هاست اشتراکی تعیین میشه و شما امکان تغییر گروهرو ندارید .
ولی اگه دارای سرور اختصاصی و یا مجازی هستید ، فک کنم که باید دسترسی به امکانات سرور داشته باشید تا بتونید گروه ایجاد و یا ویرایش کنید و یا لیست گروه ها رو ببینید و در php من تا الان تابعی رو برای اینکار ندیدم مگر اینکه بخواهید از پوسته os در php استفاده کنید .

البته اسراری به استفاده از این تابع نیست.

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

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

eshpilen
جمعه 17 دی 1389, 11:14 صبح
اصلا تمام کاربران وب شما که به سرور شما از طریق HTTP وصل میشن تحت کاربر php اجرا میشن. یعنی عملا این تابع حتی درصورت استفادهء بدون محدودیت، نمیتونه به اون سادگی بکار بره.
راهش اینه که همه چیز رو خودت ذخیره و مدیریت کنی. البته شاید بتونی از روش خاصی برای نامگذاری فایلها استفاده کنی که در این کار بهت کمک کنه. مثلا به اینصورت اون فایل اگر به جای دیگر هم منتقل بشه، هنوز این اطلاعات رو در نام خودش حفظ کرده.
بهرحال اینطور سیستمها حرفه ای هست و نیاز به دانش و مهارت کامل داره.
تیکه تیکه و وصله و پینه چیز درست و حسابی از آب درنمیاد.
باید یه منطق و الگوریتم کامل و اصولی طراحی و پیاده سازی کنی.
مثلا شاید پی ببری که درج اطلاعت در نام فایل، روش مناسب/منعطفی نیست یا برای کاربرد خاص شما مناسب نیست و غیره! اون فقط یه نمونه از خلاقیت ها و روشهای شخصی ممکن بود که گفتم.

phpweb
جمعه 17 دی 1389, 16:02 عصر
اصلا تمام کاربران وب شما که به سرور شما از طریق HTTP وصل میشن تحت کاربر php اجرا میشن. یعنی عملا این تابع حتی درصورت استفادهء بدون محدودیت، نمیتونه به اون سادگی بکار بره.
راهش اینه که همه چیز رو خودت ذخیره و مدیریت کنی. البته شاید بتونی از روش خاصی برای نامگذاری فایلها استفاده کنی که در این کار بهت کمک کنه. مثلا به اینصورت اون فایل اگر به جای دیگر هم منتقل بشه، هنوز این اطلاعات رو در نام خودش حفظ کرده.
بهرحال اینطور سیستمها حرفه ای هست و نیاز به دانش و مهارت کامل داره.
تیکه تیکه و وصله و پینه چیز درست و حسابی از آب درنمیاد.
باید یه منطق و الگوریتم کامل و اصولی طراحی و پیاده سازی کنی.
مثلا شاید پی ببری که درج اطلاعت در نام فایل، روش مناسب/منعطفی نیست یا برای کاربرد خاص شما مناسب نیست و غیره! اون فقط یه نمونه از خلاقیت ها و روشهای شخصی ممکن بود که گفتم.

به هر حال باید یه راهی باشه.

اینکه نمی شه.

eshpilen
شنبه 18 دی 1389, 09:09 صبح
راه واسه چي باشه؟

mtchabok
شنبه 18 دی 1389, 13:33 عصر
تنها راه حلی که وجود داره اینه که شما خودتون برای فایلها حق دسترسی و سایر موارد رو ایجاد کنید . چونکه اگه بخواید از طریق کاربرها و گروهای سرور استفاده کنید باید یک سرور مجازی و یا یک سرور داشته باشید و حق دسترسی شما به عنوان root سیستم باشه .

phpweb
دوشنبه 20 دی 1389, 16:01 عصر
تنها راه حلی که وجود داره اینه که شما خودتون برای فایلها حق دسترسی و سایر موارد رو ایجاد کنید . چونکه اگه بخواید از طریق کاربرها و گروهای سرور استفاده کنید باید یک سرور مجازی و یا یک سرور داشته باشید و حق دسترسی شما به عنوان root سیستم باشه .

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

لطفا یه کد ارسال کنید.

mtchabok
سه شنبه 21 دی 1389, 10:10 صبح
باید عکسهایی که آپلود میشن رو در یک دیتابیس به همراه آپلود کننده قرار بدین و فقط به دوستان آپلود کننده حق دیدن عکس رو بدین .
برای قرار دادن عکس در دیتابیس کمی جستجو کنید پیدا می کنید .
یک راه دیگه هم این هست که عکسها رو به صورت فایل ذخیره کنید ولی کاربری که میخواد عکس رو ببینه چک کنین که آیا توی لیست دوستان صاحب عکس هست یا نه و بعد بهش نشون بدین .

این راه هایی هست که وجود داره ولی اگه می خواین که با یوزر و گروه سرور اینکار رو انجام بدین قبلا هم گفتم باید حق دسترسی root رو داشته باشید .
بهترین راه حل روش دوم هس که گفتم و خودم هم از این روش استفاده میکنم .
اگه در این مورد توضیح بیشتری می خواین در خدمتم .
موفق باشید

phpweb
سه شنبه 21 دی 1389, 15:00 عصر
در مورد روش اول: اگه کاربر مستقیما ادرس عکس رو توی آدرس بار وارد کنه می تونه عکس رو ببینه و دیگه احتیاجی به اسکریپت پی اچ پی نیست. لطفا در این مورد توضیح بدید و روش دوم رو هم به صورت کامل توضیح بدید.