proc_self -
اطلاعات
فرآیند
جاری
دسترسیدارنده
به proc/
- /proc/pid/
- به ازای هر
فرایند در
حال اجرا یک
زیردایرکتوری
عددی وجود
دارد؛ این
زیردایرکتوری
بر اساس
شناسه
فرایند (PID)
نامگذاری
میشود. هر
زیردایرکتوری
/proc/pid شامل
شبهفایلها
و
دایرکتوریهایی
است که در
زیر شرح
داده
شدهاند.
- فایلهای
درون هر
دایرکتوری
/proc/pid بهطور
معمول
متعلق به
شناسه
کاربری و
شناسه
گروهی موثر
فرایند
هستند. با
این حال، به
عنوان یک
اقدام
امنیتی،
چنانچه
ویژگی «dumpable»
فرایند روی
مقداری غیر
از ۱ تنظیم
شده باشد،
مالکیت
آنها به root:root
تغییر
مییابد.
- پیش از
لینوکس 4.11،
root:root به معنای
شناسه
کاربری و
شناسه
گروهی ریشه
«سراسری»
بود (یعنی UID 0 و
GID 0 در فضای
نام کاربری
اولیه). از
لینوکس 4.11 به
بعد،
چنانچه
فرایند در
یک فضای نام
کاربری
غیراولیه
باشد که
دارای
نگاشت
معتبری
برای شناسه
کاربری (یا
گروهی) 0
درون آن
فضای نام
است،
مالکیت
کاربری (یا
گروهی)
فایلهای
موجود در
زیرشاخه /proc/pid
برابر با
شناسه
کاربری (یا
گروهی) ریشه
همان فضای
نام در نظر
گرفته
میشود. این
بدان
معناست که
درون یک
کانتینر،
کارها
مطابق
انتظار
برای کاربر
ریشه
کانتینر
عمل
میکنند.
- ویژگی «dumpable»
فرایند
ممکن است
بنا به
دلایل زیر
تغییر کند:
- •
- این ویژگی
صراحتاً از
طریق
عملیات PR_SET_DUMPABLE
در
فراخوانی
prctl(2) تنظیم
شده باشد.
- •
- این ویژگی
بنا به
دلایل شرح
داده شده در
prctl(2) به مقدار
موجود در
فایل /proc/sys/fs/suid_dumpable
(که در
ادامه
تشریح شده)
بازنشانی
شده باشد.
- بازنشانی
ویژگی «dumpable»
به ۱،
مالکیت
فایلهای
/proc/pid/* را به UID و
GID موثر
فرایند
بازمیگرداند.
با این وجود
توجه داشته
باشید که
اگر UID یا GID
موثر پس از
آن تغییر
داده شود،
ویژگی «dumpable»
ممکن است
همانطور
که در prctl(2)
توضیح داده
شده است
مجدداً
بازنشانی
گردد.
بنابراین،
مناسبتر
است که
بازنشانی
ویژگی «dumpable»
پس از
اعمال
هرگونه
تغییر مورد
نظر در UID یا GID
موثر
فرایند
انجام
پذیرد.
- /proc/self/
- این
دایرکتوری
به فرایندی
ارجاع
میدهد که
در حال
دسترسی به
سیستمفایل
/proc است، و
دقیقاً با
دایرکتوری
نامگذاریشده
بر اساس
شناسه
فرایند (PID)
همان
فرایند در
/proc یکسان و
همسان است.