SYD-SEC(1) General Commands Manual SYD-SEC(1)

syd-sec - ابزار بررسی و اعتبارسنجی فیلترهای امنیتی seccomp در Syd

syd-sec [-ahikprsxAIKPRSX] {command [args...]}

در صورت عدم ارائه هیچ آرگومانی، اطلاعات مربوط به بیت‌های امنیتی فرآیند (securebits) را در قالب فشرده JSON چاپ می‌کند.

در صورت عدم ارائه دستور، می‌توان یک یا چند مورد از گزینه‌های بیت‌های امنیتی [-aikprsx] را برای بررسی بیت‌های امنیتی مشخص کرد. برای بررسی نسخه‌های قفل‌شده بیت‌های امنیتی مربوطه، از گزینه‌های دارای حروف بزرگ [-AIKPRSX] استفاده کنید.

در صورت ارائه یک دستور و آرگومان‌های آن به همراه حداقل یکی از گزینه‌های بیت‌های امنیتی [-aikprsxAIKRSX]، بیت‌های امنیتی مشخص‌شده را تنظیم کرده، دستور را اجرا می‌کند و با همان وضعیت خروج فرآیند پایان می‌یابد.

-h نمایش راهنما و خروج.
-p, -P تنظیم/بررسی ویژگی no_new_privs فرآیند.
-r, -R تنظیم/بررسی بیت امنیتی SECBIT_NOROOT.
-s, -S تنظیم/بررسی بیت امنیتی SECBIT_NO_SETUID_FIXUP.
-k, -K تنظیم/بررسی بیت امنیتی SECBIT_KEEP_CAPS.
-a, -A تنظیم/بررسی بیت امنیتی SECBIT_NO_CAP_AMBIENT_RAISE.
-x, -X تنظیم/بررسی بیت امنیتی SECBIT_EXEC_RESTRICT_FILE.
-i, -I تنظیم/بررسی بیت امنیتی SECBIT_EXEC_DENY_INTERACTIVE.

بیت امنیتی (Securebit) توضیحات نیاز به CAP_SETPCAP؟
NO_NEW_PRIVS هنگامی که فعال باشد، execve(2) امتیازات جدیدی اعطا نخواهد کرد (برای مثال، بیت‌های دسترسی set-user-ID/set-group-ID و قابلیت‌های فایل نادیده گرفته می‌شوند). این ویژگی از طریق fork(2)، clone(2) و execve(2) به ارث می‌رسد؛ پس از فعال شدن، غیرفعال‌سازی آن امکان‌پذیر نیست. خیر
NOROOT رفتار ویژه شناسه کاربری UID 0 را برای کسب قابلیت‌ها در هنگام exec/setuid غیرفعال می‌کند. عبارت NOROOT_LOCKED قفل مربوط به NOROOT است (از تغییرات بیشتر جلوگیری می‌کند؛ غیرقابل برگشت). بله
NO_SETUID_FIXUP تنظیمات هسته روی مجموعه‌های قابلیت‌های مجاز (permitted)، مؤثر (effective) و محیطی (ambient) را هنگامی که شناسه‌های کاربری مؤثر/سیستم‌فایل (UIDs) بین ۰ و غیرصفر تغییر وضعیت می‌دهند، متوقف می‌سازد. عبارت NO_SETUID_FIXUP_LOCKED قفل مربوط به NO_SETUID_FIXUP است (از تغییرات بیشتر جلوگیری می‌کند؛ غیرقابل برگشت). بله
KEEP_CAPS اجازه حفظ قابلیت‌های مجاز (permitted capabilities) را هنگام تغییر همه شناسه‌های کاربری (UIDs) از ۰ به غیرصفر می‌دهد؛ این بیت همیشه در هنگام execve(2) پاک می‌شود. عبارت KEEP_CAPS_LOCKED قفل مربوط به KEEP_CAPS است (از تغییرات بیشتر جلوگیری می‌کند؛ غیرقابل برگشت). بله
NO_CAP_AMBIENT_RAISE افزایش قابلیت‌های محیطی (ambient capabilities) را از طریق prctl(PR_CAP_AMBIENT_RAISE) غیرمجاز می‌کند. عبارت NO_CAP_AMBIENT_RAISE_LOCKED قفل مربوط به NO_CAP_AMBIENT_RAISE است (از تغییرات بیشتر جلوگیری می‌کند؛ غیرقابل برگشت). بله
EXEC_RESTRICT_FILE مفسر یا پیونددهنده پویا تنها در صورتی باید یک فایل را اجرا کند که فراخوان سیستمی execveat(2) با فلگ AT_EXECVE_CHECK روی توصیف‌کننده فایل (file descriptor) مربوطه موفقیت‌آمیز باشد. عبارت EXEC_RESTRICT_FILE_LOCKED قفل مربوط به EXEC_RESTRICT_FILE است (از تغییرات بیشتر جلوگیری می‌کند؛ غیرقابل برگشت). خیر
EXEC_DENY_INTERACTIVE مفسر نباید دستورات تعاملی کاربر را بپذیرد؛ محتوا از طریق توصیف‌کننده فایل (file descriptor) تنها در صورتی مجاز است که فراخوان execveat(2) با فلگ AT_EXECVE_CHECK موفقیت‌آمیز باشد. عبارت EXEC_DENY_INTERACTIVE_LOCKED قفل مربوط به EXEC_DENY_INTERACTIVE است (از تغییرات بیشتر جلوگیری می‌کند؛ غیرقابل برگشت). خیر

هنگام استعلام بیت‌های امنیتی، اگر تمام بیت‌های امنیتی مشخص‌شده در بیت‌های امنیتی فرآیند تنظیم شده باشند، syd-sec با وضعیت موفقیت‌آمیز خارج می‌شود. هنگام اجرای یک دستور، syd-sec با همان کد خروج فرآیند فرزند خارج می‌شود. اگر عملیات prctl(2) از نوع PR_SET_SECUREBITS(2const) پیش از اجرای دستور با خطا مواجه شود، syd-sec با مقدار errno(3) پایان می‌یابد.

syd(1), syd(2), syd(5), syd-lock(1), syd-mdwe(1), syd-ofd(1), syd-pds(1), syd-ring(1), syd-tsc(1), PR_GET_SECUREBITS(2const), PR_SET_SECUREBITS(2const)

صفحه خانگی syd: https://sydbox.exherbo.org

نگه‌داری شده توسط Ali Polatel. سورس‌های به‌روز را می‌توان در https://gitlab.exherbo.org/sydbox/sydbox.git و روی Radicle در rad:z38HCnbmcDegA2BMxuPaPRPMdp6wF یافت. اشکالات/وصله‌ها را می‌توان به https://gitlab.exherbo.org/groups/sydbox/-/issues ارسال کرد. گفتگو در #sydbox در Libera Chat یا در #sydbox:mailstation.de در Matrix.

2026-09-01