جزییات بازدید : 5905
تاریخ انتشار : 08 / خرداد / 1397
فایلهای Setuid فایلهایی هستند که با سطح دسترسی سازنده اجرا می شوند بر خلاف فایلهای باینری عادی که با سطح دسترسی کاربر جاری اجرا می شوند . این فایلها خطرات امنیتی بالقوه ای هستند مخصوصا اگر سازنده آنها کاربر root باشد .
فایلهای Setuid فایلهایی هستند که با سطح دسترسی سازنده اجرا می شوند بر خلاف فایلهای باینری عادی که با سطح دسترسی کاربر جاری اجرا می شوند . این فایلها خطرات امنیتی بالقوه ای هستند مخصوصا اگر سازنده آنها کاربر root باشد . نمونه ای معروفی از این فایلها ابزار passwd می باشد . به منظور اینکه کاربران بتوانند پسورد خودشان را عوض کنند آنها نیاز دارند که به فایل /etc/shadow دسترسی داشته باشند اما آنها نمی توانند این فایل را بخوانند زیرا رمز عبور hash شده تمامی کاربران در آن وجود دارد . ست کردن بیت setuid بدین معناست که این فایل اجرایی اجازه دارد با سطح دسترسی سازنده آن اجرا شود (در این مثال root ) چون فقط کاربر root اجازه خواندن و نوشتن بر روی فایل /etc/shadow را دارد . پس ما بدون اعطای دسترسی به کاربران دیگر به منظور خواندن و یا نوشتن بر روی فایل /etc/shadow به صورت غیر مستقیم این اجازه را میدهیم که کاربر رمز عبور خود را تغییر دهد . شما می توانید با دستور زیر تمامی فایلهایی که بیت setuid بر روی آنها ست شده را مشاهده نمایید.
# find / -perm -4000 -ls [...] 4948 15 -rwsr-sr-x 1 libuuid libuuid 15208 Jan 25 2011 /usr/sbin/uuidd [...] 41584 34 -rwsr-xr-x 1 root root 34248 Oct 14 2010 /bin/ping 41585 36 -rwsr-xr-x 1 root root 36640 Oct 14 2010 /bin/ping6 41590 34 -rwsr-xr-x 1 root root 34024 Feb 15 2011 /bin/su 41595 53 -rwsr-xr-x 1 root root 53648 Jan 25 2011 /bin/umount
برای جلوگیری از پیغامهای خطای “No such file or directory” با اضافه کردن "2> /dev/null" به انتهای دستور خطاها را به /dev/null هدایت کنید . برای هر فایل میتوانید چک کنید که آیا این فایل مجاز هست که setuid روی آن تنظیم شود.