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

کمک و پشتیبانی => انجمن عمومی => نویسنده: majidkamali1370 در 08 بهمن 1391، 09:17 ب‌ظ

عنوان: درست کردن اجازه های تغییر کرده [حل شد]
ارسال شده توسط: majidkamali1370 در 08 بهمن 1391، 09:17 ب‌ظ
سلام.
من یه مشکلی واسم پیش اومده. :(
اشتباهی دستور زیر رو زدم و تقریبا همه فایلهای توی هوم سطح دسترسیشون عوض شده. حالا فایل متنی رو هم میخوام باز کنم میگه میخوای اجراش کنی؟ :'(
~$ chmod -R 777 .۱. میشه یه جوری اون رو به حالت قبل برگردوند؟
۲. اگه نمیشه، میشه یه اسکریپت برام بنویسید که با استفاده از ls -l بفهمه که فایلی که توی این خط هست فایله یا فولدر و بعد اگه فولدر بود اجازه دیفالت فولدر (rwxrwxr-x) و اگه فایل بود اجازه دیفالت فایل (--rw-rw-r) رو بهش اختصاص بده؟ (فکر کنم سه چهار تا | احتمالا داره)
عنوان: پاسخ : درست کردن اجازه های تغییر کرده
ارسال شده توسط: alieblice در 08 بهمن 1391، 09:41 ب‌ظ
این دستور برایه فایلایه غیر دایرکتوری. هر نوع فایلی رو به غیر از دایرکتوری پیدا میکنه.
وارد home دایرکتوریتون بشین بعد اجراش کنین. جایه 777 هم پرمیشنی که گفتین رو بزارین
find . -type f -maxdepth 1 -print -exec /bin/chmod 777 {} \;
برایه نوع هایه دیگه فایل هم این و نگاه :

       -type c
              File is of type c:

              b      block (buffered) special

              c      character (unbuffered) special

              d      directory

              p      named pipe (FIFO)

              f      regular file

              l      symbolic  link; this is never true if the -L option or the -follow
                     option is in effect, unless the symbolic link is broken.   If  you
                     want  to  search  for  symbolic  links  when  -L is in effect, use
                     -xtype.

              s      socket

              D      door (Solaris)
عنوان: پاسخ : درست کردن اجازه های تغییر کرده
ارسال شده توسط: majidkamali1370 در 08 بهمن 1391، 10:00 ب‌ظ
دستتون درد نکنه.
الان تستش میکنم.
عنوان: پاسخ : درست کردن اجازه های تغییر کرده
ارسال شده توسط: majidkamali1370 در 08 بهمن 1391، 10:14 ب‌ظ
این دستور فقط تا یک مرحله وارد هر فولدر میشه؟
عنوان: پاسخ : درست کردن اجازه های تغییر کرده
ارسال شده توسط: doomhammer65ir در 09 بهمن 1391، 12:41 ق‌ظ
دسترسی 644 و 755 دسترسی بدی نیست . به پوشه ها 755 بدهید و به پرونده ها 644
درون پوشه ای که گندزده اید بروید سپس :find ./* -type d -exec chmod 755 {} \;
find ./* -type f -exec chmod 644 {} \;
عنوان: پاسخ : درست کردن اجازه های تغییر کرده
ارسال شده توسط: aref3d در 09 بهمن 1391، 01:43 ق‌ظ
از این اسکریپت هم برای راحتی کار میتونید استفاده کنید.
#!/bin/bash
if [ $@ ] ; then
location=$@
else
location=`pwd`
fi

echo "This script changes folder permissions to 755 and file permissions to 644"
echo "Are you sure you want to change permissions of \"\033[44m$location\033[0m\""
echo "Type \"\033[1myes\033[0m\" to continue or \"no\" to abort."
read answer

if [ "$answer" = "yes" ] ; then
echo "Script is running. Please wait ..."
find $location -type d -exec chmod 755 '{}' \;
find $location -type f -exec chmod 644 '{}' \;
elif [ "$answer" = "no" ] ; then
echo "Script was terminated"
exit 0
else
echo "Sorry, \"$answer\" not recogonized. Enter yes or no"
exit 0
fi

echo "The script is now completed!"
exit 0
عنوان: پاسخ : درست کردن اجازه های تغییر کرده
ارسال شده توسط: alieblice در 09 بهمن 1391، 10:36 ق‌ظ
هواسم نبود میخاین وارد دایرکتوری ها هم بشه. از دستور جناب doomhammer65ir استفاده کنین
عنوان: پاسخ : درست کردن اجازه های تغییر کرده
ارسال شده توسط: majidkamali1370 در 09 بهمن 1391، 11:01 ق‌ظ
با تشکر از همه دوستان.
حل شد