انجمن‌های فارسی اوبونتو

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید


توزیع گنو/لینوکس اوبونتو ۲۰ ساله شد 🎉

نویسنده موضوع: یه سوال مهم در مورد دستور find/  (دفعات بازدید: 4277 بار)

0 کاربر و 10 مهمان درحال مشاهده موضوع.

آفلاین alirezazzz

  • Newbie
  • *
  • ارسال: 9
یه سوال مهم در مورد دستور find/
« : 31 امرداد 1387، 03:09 ق‌ظ »
سلام دوستان.سوال من درمورد دستور find/ هست.خیلی هم فوریه!
من میخوام یه سری فولدر رو با perm 2 پیدا کنم.منتها به فولدر home دسترسی ندارم.
وقتی میزنم find /home -perm -2 -ls میگه find: /home: Permission denied
در اصل یه همچین چیزی میخوام: find /home/*/public_html/ -perm -2 -ls ولی میگه find: /home/*: No such file or directory
نمیدونم به جای * چی بزنم(* یعنی اسمش هرچی باشه مهم نیست خودتون میدونید که!)
لطفا منو راهنمایی کنید.
« آخرین ویرایش: 31 امرداد 1387، 03:11 ق‌ظ توسط alirezazzz »

آفلاین platoali

  • Full Member
  • *
  • ارسال: 212
  • جنسیت : پسر
پاسخ به: یه سوال مهم در مورد دستور find/
« پاسخ #1 : 31 امرداد 1387، 08:27 ق‌ظ »
می توانید با کاربر root دستور را اجرا کنید؟
احتمالا  مشکل از دسترسی شما به شاخه ی /home است.

آفلاین سعید رسولی

  • ilius, saeedgnu
  • عضو کاربران ایرانی اوبونتو
  • *
  • ارسال: 1543
  • جنسیت : پسر
پاسخ به: یه سوال مهم در مورد دستور find/
« پاسخ #2 : 31 امرداد 1387، 08:37 ق‌ظ »
از اوپشن path- استفاده کنید:
sudo find /home -path /home/*/public_html/* -perm 2 -lsدر ضمن باید با حساب root هم اجرا بشه چون اجازهٔ خوندن دایرکتوری خانگی کاربران دیگه رو بهتون نمیده و کلی پیغام خطا چاپ میکنه. اگه نمیخواید با حساب root اجرا کنید و اون پیغام‌های خطا هم نمیخواید چاپ بشه(و فقط اون جاهایی که اجازهٔ خوندنش رو دارید بگرده) ارورهاش رو redirect کنید:
find /home -path /home/*/public_html/* -perm 2 -ls 2> /dev/null

آفلاین alirezazzz

  • Newbie
  • *
  • ارسال: 9
پاسخ به: یه سوال مهم در مورد دستور find/
« پاسخ #3 : 31 امرداد 1387، 03:09 ب‌ظ »
از اوپشن path- استفاده کنید:
sudo find /home -path /home/*/public_html/* -perm 2 -lsدر ضمن باید با حساب root هم اجرا بشه چون اجازهٔ خوندن دایرکتوری خانگی کاربران دیگه رو بهتون نمیده و کلی پیغام خطا چاپ میکنه. اگه نمیخواید با حساب root اجرا کنید و اون پیغام‌های خطا هم نمیخواید چاپ بشه(و فقط اون جاهایی که اجازهٔ خوندنش رو دارید بگرده) ارورهاش رو redirect کنید:
find /home -path /home/*/public_html/* -perm 2 -ls 2> /dev/null

من اصلا دسترسی root ندارم.این دستور رو هم که میزنم find /home -path /home/*/public_html/* -perm 2 -ls 2> /dev/null هیچ جوابی نمیده.

راه دیگه ای نداره؟؟؟ :'(

آفلاین علیرضا طالقانی

  • High Hero Member
  • *
  • ارسال: 2373
  • جنسیت : پسر
  • القدس لنا، والنصر لنا!
    • Take it easy
پاسخ به: یه سوال مهم در مورد دستور find/
« پاسخ #4 : 31 امرداد 1387، 05:22 ب‌ظ »
قبل از دستور ات کافی ی پیش دستور sudo رو اضافه کنه مثل این
sudo find / -name ur-file-name2search
.ShayneIsTheOneWhoIsAlwaysAlone
terminal@world-server:~$ sudo aptitude remove --purge Israel

آفلاین سعید رسولی

  • ilius, saeedgnu
  • عضو کاربران ایرانی اوبونتو
  • *
  • ارسال: 1543
  • جنسیت : پسر
پاسخ به: یه سوال مهم در مورد دستور find/
« پاسخ #5 : 31 امرداد 1387، 07:19 ب‌ظ »
من اصلا دسترسی root ندارم.این دستور رو هم که میزنم find /home -path /home/*/public_html/* -perm 2 -ls 2> /dev/null هیچ جوابی نمیده.

راه دیگه ای نداره؟؟؟ :'(
یعنی جایی هستید که مثلا کاربرتون Admin نیست؟(sudo ی  نیست؟) اگه ادمین نیستید که طبیعیه نتونید محتویات home کاربران دیگه رو ببینید. باید از ادمین بخواید که اون دستور find رو اجرا کنه، یا این که از کاربران دیگه بخواید مجوز خوندن پوشهٔ public_html خودشون رو به دیگران(مثلا به اعضای گروه users یا به همه) بدند.

آفلاین alirezazzz

  • Newbie
  • *
  • ارسال: 9
پاسخ به: یه سوال مهم در مورد دستور find/
« پاسخ #6 : 31 امرداد 1387، 08:16 ب‌ظ »
من اصلا دسترسی root ندارم.این دستور رو هم که میزنم find /home -path /home/*/public_html/* -perm 2 -ls 2> /dev/null هیچ جوابی نمیده.

راه دیگه ای نداره؟؟؟ :'(
یعنی جایی هستید که مثلا کاربرتون Admin نیست؟(sudo ی  نیست؟) اگه ادمین نیستید که طبیعیه نتونید محتویات home کاربران دیگه رو ببینید. باید از ادمین بخواید که اون دستور find رو اجرا کنه، یا این که از کاربران دیگه بخواید مجوز خوندن پوشهٔ public_html خودشون رو به دیگران(مثلا به اعضای گروه users یا به همه) بدند.

ببینید من به فولدر / دسترسی دارم.ولی به home/ و home/evern/دسترسی ندارم(evern یه یوزره).در عوض به /home/evern/public_html/ دسترسی دارم.یعنی به فولدر public_html همه ی یوزر ها دسترسی دارم. حالا میخوام تو همه ی یوزر ها search کنم ببینم کدوم فولدر هاشون perm 2 دارند.

حالا فکر کنم بتونید بهتر راهنماییم کنید. ???

آفلاین سعید رسولی

  • ilius, saeedgnu
  • عضو کاربران ایرانی اوبونتو
  • *
  • ارسال: 1543
  • جنسیت : پسر
پاسخ به: یه سوال مهم در مورد دستور find/
« پاسخ #7 : 31 امرداد 1387، 11:16 ب‌ظ »
آها. ببینید این همون چیزیه که میخواید؟
for DIR in /home/* ; do
  find "$DIR/public_html" -perm 2 -ls
done
البته این توی اون پوشه‌های public_html میگرده و تمام فایلها و پوشه‌هایی که داخل یکی از اون public_html ها هستن(یا خود اونها) و مجوز 2 دارن رو چاپ میکنه.
اگه منظورتون این هست که خود اون پوشهٔ public_html مجوز 2 داشته باشه(نه یکی از محتویاتش)، این دستوری که نوشتم ممکنه یه سری چیزای اضافی چاپ کنه. اگه اینطور هست، بهتره مثلاً‌ از این استفاده کنید:
for DIR in /home/* ; do
  find "$DIR/public_html" -perm 2 -path "/home/$DIR/public_html" -ls
done
البته اگه می‌دونستم چطور به permission بصورت ساده فایل میشه دسترسی پبدا کرد، میشد توی همون حلقه تست کرد(ساده‌تر میشد).
« آخرین ویرایش: 31 امرداد 1387، 11:21 ب‌ظ توسط ilius »

آفلاین alirezazzz

  • Newbie
  • *
  • ارسال: 9
پاسخ به: یه سوال مهم در مورد دستور find/
« پاسخ #8 : 01 شهریور 1387، 12:34 ق‌ظ »
آها. ببینید این همون چیزیه که میخواید؟
for DIR in /home/* ; do
  find "$DIR/public_html" -perm 2 -ls
done
البته این توی اون پوشه‌های public_html میگرده و تمام فایلها و پوشه‌هایی که داخل یکی از اون public_html ها هستن(یا خود اونها) و مجوز 2 دارن رو چاپ میکنه.
اگه منظورتون این هست که خود اون پوشهٔ public_html مجوز 2 داشته باشه(نه یکی از محتویاتش)، این دستوری که نوشتم ممکنه یه سری چیزای اضافی چاپ کنه. اگه اینطور هست، بهتره مثلاً‌ از این استفاده کنید:
for DIR in /home/* ; do
  find "$DIR/public_html" -perm 2 -path "/home/$DIR/public_html" -ls
done
البته اگه می‌دونستم چطور به permission بصورت ساده فایل میشه دسترسی پبدا کرد، میشد توی همون حلقه تست کرد(ساده‌تر میشد).

برای هردو دستوری که نوشتید جواب میده : find: /home/*: No such file or directory  ](*,)

آفلاین سعید رسولی

  • ilius, saeedgnu
  • عضو کاربران ایرانی اوبونتو
  • *
  • ارسال: 1543
  • جنسیت : پسر
پاسخ به: یه سوال مهم در مورد دستور find/
« پاسخ #9 : 01 شهریور 1387، 03:23 ق‌ظ »
نباید اینطوری بشه! :o
دقیقاً‌ توی چه سیستم‌عاملی اجرا کردید؟ مطمئنید شل اون bash بود؟

آفلاین alirezazzz

  • Newbie
  • *
  • ارسال: 9
پاسخ به: یه سوال مهم در مورد دستور find/
« پاسخ #10 : 02 شهریور 1387، 02:44 ق‌ظ »
نباید اینطوری بشه! :o
دقیقاً‌ توی چه سیستم‌عاملی اجرا کردید؟ مطمئنید شل اون bash بود؟

من روی php شل اجرا میکنم. در مورد bash هم هیچ اطلاعاتی ندارم! شرمنده.

Linux 2.6.9-55.0.9.ELsmp


آفلاین سعید رسولی

  • ilius, saeedgnu
  • عضو کاربران ایرانی اوبونتو
  • *
  • ارسال: 1543
  • جنسیت : پسر
پاسخ به: یه سوال مهم در مورد دستور find/
« پاسخ #11 : 02 شهریور 1387، 04:08 ق‌ظ »
من روی php شل اجرا میکنم. در مورد bash هم هیچ اطلاعاتی ندارم! شرمنده.

Linux 2.6.9-55.0.9.ELsmp[/color]

من هم متأسفانه در مورد php تقریباً هیچ اطلاعاتی ندارم. توی php نمیتونید تعیین کنید که اون دستور رو با bash اجرا کنه؟ یا اصلاً توی php نمیتونید به لیست محتویات دایرکتوری home/ دسترسی پیدا کنید؟