STAP-SERVER(8) System Manager's Manual STAP-SERVER(8)

stap-server - مدیریت سرور کامپایل systemtap

[ service ] stap-server { start | stop | restart | condrestart | try-restart | force-reload | status } [ گزینه‌ها ]

یک سرور کامپایل systemtap روی یک درگاه شبکه امن SSL به اتصالات کلاینت‌های stap گوش فرا می‌دهد و درخواست‌های اجرای فرانت‌اند stap را می‌پذیرد. هر سرور با استفاده از mDNS (avahi) حضور و پیکربندی خود را در شبکه محلی اعلام می‌کند و امکان تشخیص خودکار توسط کلاینت‌ها را فراهم می‌سازد.

اسکریپت stap-server با اهداف زیر ارائه شده است:

  • مدیریت سرورهای کامپایل systemtap به عنوان یک سرویس.
  • کنترل آسان بر سرورهای پیکربندی‌شده و سرورهای مجزا (موردی یا ad-hoc).

یکی از عملیات‌های زیر باید مشخص شود:

راه‌اندازی سرورها. سرورهای مشخص‌شده راه‌اندازی می‌شوند. چنانچه هیچ سروری مشخص نشده باشد، سرورهای پیکربندی‌شده راه‌اندازی می‌شوند. اگر هیچ سروری پیکربندی نشده باشد، سروری متناسب با نگارش هسته و معماری میزبان راه‌اندازی می‌شود. اگر سرور مشخص‌شده‌ای از قبل راه‌اندازی شده باشد، این عمل برای آن سرور نادیده گرفته خواهد شد. اگر راه‌اندازی سروری با شکست مواجه شود، این عمل با شکست پایان می‌یابد.
متوقف کردن سرور(ها). سرورهای مشخص‌شده متوقف می‌شوند. چنانچه هیچ سروری مشخص نشده باشد، تمام سرورهای در حال اجرای فعلی متوقف می‌شوند. اگر سرور مشخص‌شده در حال اجرا نباشد، این عمل برای آن سرور موفقیت‌آمیز خواهد بود. اگر توقف سروری با شکست مواجه شود، این عمل با شکست پایان می‌یابد.
متوقف کردن و راه‌اندازی مجدد سرورها. سرورهای مشخص‌شده متوقف شده و مجدداً راه‌اندازی می‌شوند. چنانچه هیچ سروری مشخص نشده باشد، تمام سرورهای در حال اجرای فعلی متوقف و مجدداً راه‌اندازی می‌شوند. اگر هیچ سروری در حال اجرا نباشد، این عمل رفتاری مشابه با start خواهد داشت.
متوقف کردن و راه‌اندازی مجدد سرورها. سرورهای مشخص‌شده متوقف شده و مجدداً راه‌اندازی می‌شوند. اگر سرور مشخص‌شده در حال اجرا نباشد، راه‌اندازی نخواهد شد. اگر هیچ سروری مشخص نشده باشد، تمام سرورهای در حال اجرا متوقف و دوباره راه‌اندازی می‌شوند. اگر هیچ سروری در حال اجرا نباشد، هیچ‌کدام راه‌اندازی نخواهند شد.
این عمل کاملاً مشابه condrestart است.
تمام سرورهای در حال اجرا را متوقف می‌کند، فایل‌های پیکربندی را دوباره بارگذاری می‌کند و سرویس را به گونه‌ای راه‌اندازی مجدد می‌کند که گویی start مشخص شده است.
چاپ اطلاعات درباره سرورهای در حال اجرا. اطلاعات مربوط به سرور(های) مشخص‌شده چاپ خواهد شد. اگر هیچ سروری مشخص نشده باشد، اطلاعات مربوط به تمام سرورهای در حال اجرا نمایش داده می‌شود.

گزینه‌های زیر برای ارائه پیکربندی بیشتر و مشخص کردن سرورهای تحت مدیریت به کار می‌روند:

این گزینه علاوه بر فایل پیکربندی سراسری پیش‌فرض که در ادامه شرح داده شده است، یک فایل پیکربندی سراسری دیگر را مشخص می‌کند. این فایل پس از فایل پیکربندی سراسری پیش‌فرض پردازش خواهد شد. اگر گزینه -c بیش از یک بار مشخص شود، آخرین فایل پیکربندی مشخص‌شده استفاده خواهد شد.
این گزینه معماری مقصد سرور را مشخص می‌کند و مشابه گزینه -a در stap است. برای جزئیات بیشتر به صفحه راهنمای stap(1) مراجعه کنید. معماری پیش‌فرض، معماری سیستم میزبان است.
این گزینه نگارش هسته مقصد سرور را مشخص می‌کند و مشابه گزینه -r در stap است. برای جزئیات بیشتر به صفحه راهنمای stap(1) مراجعه کنید. نگارش پیش‌فرض، همان نگارش هسته در حال اجرای فعلی است. یک سرور می‌تواند با مشخص کردن چندین فلگ -r چندین نگارش را مدیریت کند.
این گزینه یک مسیر اضافی را برای جستجوی تپ‌ست‌ها (tapsets) توسط سرور(ها) مشخص می‌کند و مشابه گزینه -I در stap است. برای جزئیات بیشتر به صفحه راهنمای stap(1) مراجعه کنید.
این گزینه مکان زمان اجرای (runtime) systemtap مورد استفاده سرور(ها) را مشخص می‌کند و مشابه گزینه -R در stap است. برای جزئیات بیشتر به صفحه راهنمای stap(1) مراجعه کنید.
این گزینه گزینه‌هایی را مشخص می‌کند که هنگام ساخت ماژول‌های systemtap به make ارسال می‌شوند و مشابه گزینه -B در stap است. برای جزئیات بیشتر به صفحه راهنمای stap(1) مراجعه کنید.
این گزینه یک میان‌بر است که سروری را برای مدیریت تمامی نگارش‌های نصب‌شده در /lib/modules/ مشخص می‌کند.
این گزینه امکان مشخص کردن پیکربندی سرور را بر اساس نام مستعار (nickname) فراهم می‌کند. هنگامی که -n مشخص شود، یک سرور در حال اجرای فعلی با نام مستعار داده‌شده جستجو خواهد شد. چنانچه هیچ سرور در حال اجرایی با نام مستعار داده‌شده یافت نشود، پیکربندی سروری با این نام مستعار در فایل‌های پیکربندی سرورهای پیش‌فرض، یا مسیر پیکربندی‌شده در فایل پیکربندی سراسری یا فایل پیکربندی مشخص‌شده با گزینه -c جستجو خواهد شد. اگر پیکربندی سروری برای نام مستعار داده‌شده پیدا شود، گزینه‌های -a، -r، -I، -R، -B و -u برای آن سرور به همان گونه‌ای اعمال خواهند شد که گویی در خط فرمان مشخص شده‌اند. اگر هیچ پیکربندی با نام مستعار داده‌شده یافت نشود و عمل انتخابی start (یا عملی با رفتاری مشابه start باشد؛ بخش آرگومان‌ها (ARGUMENTS) را ببینید)، سرور با نام مستعار داده‌شده راه‌اندازی خواهد شد. اگر هیچ پیکربندی با نام مستعار مشخص‌شده پیدا نشود و عمل انتخابی start (یا عملی با رفتار مشابه start) نباشد، یک خطا رخ خواهد داد. چنانچه برای سروری که در حال راه‌اندازی است نام مستعاری مشخص نشود، نام مستعار آن شناسه فرآیند (PID) آن خواهد بود.
این گزینه امکان مشخص کردن پیکربندی سرور را با شناسه فرآیند (process id) فراهم می‌کند. هنگامی که -p مشخص شود، یک سرور در حال اجرای فعلی با شناسه فرآیند داده‌شده جستجو خواهد شد. اگر چنین سروری یافت نشود، خطا خواهد بود. اگر سروری با شناسه فرآیند داده‌شده پیدا شود، گزینه‌های -a، -r، -I، -R، -B و -u برای آن سرور به‌گونه‌ای استفاده خواهند شد که گویی در خط فرمان مشخص شده‌اند.
هر سرور کامپایل systemtap به طور معمول توسط نام کاربری stap-server (برای initscript) یا به عنوان کاربری که stap-server را فراخوانی می‌کند اجرا می‌شود، مگر اینکه به صورت دیگری پیکربندی شده باشد (بخش فایل‌ها (FILES) را ببینید). این گزینه نام کاربری مورد استفاده برای اجرای سرور(ها) را مشخص می‌کند. نام کاربری مشخص‌شده باید عضوی از گروه stap-server باشد.
این گزینه امکان مشخص کردن یک فایل لاگ جداگانه برای هر سرور را فراهم می‌کند. هر گزینه --log به فهرستی اضافه می‌شود که به نوبه خود برای هر سرور مشخص‌شده اعمال خواهد شد. اگر تعداد سرورهای مشخص‌شده بیشتر از گزینه‌های --log باشد، فایل لاگ پیش‌فرض (بخش فایل‌ها (FILES) را ببینید) برای سرورهای بعدی استفاده خواهد شد.
این گزینه امکان مشخص کردن یک درگاه (پورت) شبکه خاص برای هر سرور را فراهم می‌کند. هر گزینه --port به فهرستی اضافه می‌شود که به نوبه خود برای هر سرور مشخص‌شده اعمال خواهد شد. اگر سرورهای مشخص‌شده بیشتر از گزینه‌های --port باشند، یک پورت تصادفی برای سرورهای بعدی انتخاب می‌شود.
این گزینه امکان تعیین یک پایگاه‌داده گواهی NSS مجزا را برای هر سرور فراهم می‌کند. هر گزینه --ssl به فهرستی اضافه می‌شود که به نوبه خود برای هر سرور مشخص‌شده اعمال خواهد شد. چنانچه تعداد سرورهای مشخص‌شده از گزینه‌های --ssl بیشتر باشد، پایگاه‌داده گواهی پیش‌فرض (بخش فایل‌ها (FILES) را ببینید) برای سرورهای بعدی استفاده خواهد شد.
این گزینه امکان مشخص کردن حداکثر تعداد رشته‌های کارگر (worker threads) را برای مدیریت درخواست‌های همزمان فراهم می‌کند. اگر threads == 0 باشد، هر درخواست روی رشته اصلی و به صورت متوالی مدیریت خواهد شد. مقدار پیش‌فرض برابر با تعداد هسته‌های پردازنده موجود است.
این گزینه امکان تعیین حداکثر اندازه یک درخواست غیرفشرده کلاینت را فراهم می‌کند. آرگومان size بر حسب بایت مشخص می‌شود. مقدار پیش‌فرض ۵۰۰۰۰ بایت است.
این گزینه امکان تعیین حداکثر اندازه یک درخواست فشرده‌شده کلاینت را فراهم می‌کند. آرگومان size بر حسب بایت مشخص می‌شود. مقدار پیش‌فرض ۵۰۰۰ بایت است.

فایل‌های پیکربندی به ما امکان می‌دهند:

  • پیکربندی سراسری ثبت لاگ، فایل‌های پیکربندی سرور، فایل‌های وضعیت و سایر پارامترهای سراسری را مشخص کنیم.
  • مشخص کنیم چه سرورهایی باید به طور پیش‌فرض راه‌اندازی شوند.

فایل پیکربندی سراسری شامل انتساب متغیرهایی است که برای پیکربندی عملکرد کلی سرویس استفاده می‌شوند. هر خطی که با نویسه '#' آغاز شود نادیده گرفته می‌شود. سایر خطوط باید به شکل VARIABLE=VALUE باشند. این یک اسکریپت شل نیست. تمام محتوای خط پس از علامت = همان‌طور که هست به متغیر نسبت داده می‌شود.

متغیرهای زیر را می‌توان مقداردهی کرد:

مسیر مطلق دایرکتوری حاوی پیکربندی‌های پیش‌فرض سرور را مشخص می‌کند.
مسیر مطلق دایرکتوری وضعیت سرورهای در حال اجرا را مشخص می‌کند.
مسیر مطلق فایل لاگ را مشخص می‌کند.
شناسه کاربری (userid) را مشخص می‌کند که برای اجرای سرور(ها) استفاده خواهد شد (پیش‌فرض: برای initscript کاربر stap-server، و در غیر این صورت کاربری که stap-server را اجرا می‌کند).

در اینجا نمونه‌ای از یک فایل پیکربندی سراسری آورده شده است:

CONFIG_PATH=~<user>/my-stap-server-configs
LOG_FILE=/tmp/stap-server/log

هر فایل پیکربندی سرور، سروری را پیکربندی می‌کند که باید در زمان عدم تعیین سرور برای عمل start یا عملی با رفتار مشابه عمل start راه‌اندازی شود (بخش آرگومان‌ها (ARGUMENTS) را ببینید). هر فایل پیکربندی شامل انتساب متغیرهایی است که برای پیکربندی یک سرور مجزا استفاده می‌شوند.

هر خطی که با نویسه '#' آغاز شود نادیده گرفته می‌شود. سایر خطوط باید به شکل VARIABLE=VALUE باشند. این یک اسکریپت شل نیست. تمام محتوای خط پس از علامت = همان‌طور که هست به متغیر نسبت داده می‌شود.

هر فایل پیکربندی باید دارای پسوند نام فایل .conf باشد. برای اطلاع از محل پیش‌فرض این فایل‌ها به stappaths(7) مراجعه کنید. این مکان پیش‌فرض را می‌توان در فایل پیکربندی سراسری با استفاده از گزینه -c بازنویسی کرد (بخش گزینه‌ها (OPTIONS) را ببینید).

متغیرهای زیر را می‌توان مقداردهی کرد:

معماری مقصد را برای این سرور مشخص می‌کند و متناظر با گزینه -a است (بخش گزینه‌ها (OPTIONS) را ببینید). اگر ARCH تنظیم نشود، معماری میزبان استفاده خواهد شد.
یک نگارش هسته را برای این سرور مشخص می‌کند و متناظر با گزینه -r است (بخش گزینه‌ها (OPTIONS) را ببینید). اگر RELEASE تنظیم نشود، نگارش هسته در حال اجرا روی میزبان استفاده خواهد شد.
گزینه‌هایی را مشخص می‌کند که باید به فرآیند make که توسط systemtap برای ساخت ماژول‌های هسته به کار می‌رود ارسال شوند. این یک متغیر آرایه‌ای است که هر عنصر آن متناظر با یک گزینه -B است (بخش گزینه‌ها (OPTIONS) را ببینید). استفاده از قالب BUILD=STRING آرایه را پاک کرده و عنصر اول را برابر با STRING قرار می‌دهد. استفاده از قالب BUILD+=STRING رشته STRING را به عنوان یک عنصر اضافی به آرایه می‌افزاید.
فهرستی از دایرکتوری‌ها را برای جستجوی تپ‌ست‌ها توسط سرور مشخص می‌کند. این یک متغیر آرایه‌ای است که هر عنصر آن متناظر با یک گزینه -I است (بخش گزینه‌ها (OPTIONS) را ببینید). استفاده از قالب INCLUDE=PATH آرایه را پاک کرده و عنصر نخست را برابر با PATH قرار می‌دهد. استفاده از قالب INCLUDE+=PATH مسیر PATH را به عنوان یک عنصر اضافی به آرایه می‌افزاید.
دایرکتوری حاوی کد زمان اجرای systemtap را برای استفاده توسط این سرور مشخص می‌کند و متناظر با گزینه -R است (بخش گزینه‌ها (OPTIONS) را ببینید).
نام کاربری مورد استفاده برای اجرای این سرور را مشخص می‌کند و متناظر با گزینه -u است (بخش گزینه‌ها (OPTIONS) را ببینید).
نام مستعار مورد استفاده برای اشاره به این سرور را مشخص می‌کند و متناظر با گزینه -n است (بخش گزینه‌ها (OPTIONS) را ببینید).
مکان فایل لاگ مورد استفاده توسط این سرور را مشخص می‌کند و متناظر با گزینه --log است (بخش گزینه‌ها (OPTIONS) را ببینید).
درگاه شبکه مورد استفاده توسط این سرور را مشخص می‌کند و متناظر با گزینه --port است (بخش گزینه‌ها (OPTIONS) را ببینید).
مکان پایگاه‌داده گواهی NSS مورد استفاده توسط این سرور را مشخص می‌کند و متناظر با گزینه --ssl است (بخش گزینه‌ها (OPTIONS) را ببینید).
حداکثر تعداد رشته‌های کارگر را برای مدیریت درخواست‌های همزمان مورد استفاده این سرور مشخص می‌کند و متناظر با گزینه --max-threads است (بخش گزینه‌ها (OPTIONS) را ببینید).
حداکثر اندازه یک درخواست کلاینت غیرفشرده را برای این سرور مشخص می‌کند و متناظر با گزینه --max-request-size است (بخش گزینه‌ها (OPTIONS) را ببینید).
حداکثر اندازه یک درخواست فشرده‌شده کلاینت را برای این سرور مشخص می‌کند و متناظر با گزینه --max-compressed-request است (بخش گزینه‌ها (OPTIONS) را ببینید).

نمونه‌ای از یک فایل پیکربندی سرور:

ARCH=
USER=
RELEASE=
NICKNAME=native

با خالی نگه داشتن فیلدهای ARCH ،USER و RELEASE، آن‌ها به طور پیش‌فرض روی معماری و نگارش فعلی تنظیم شده و از کاربر پیش‌فرض استفاده خواهند کرد.

یک مثال مشخص‌تر:

ARCH=i386
RELEASE=2.6.18-128.el5
PORT=5001
LOG=/path/to/log/file

و در اینجا یک مثال پیچیده‌تر آورده شده است:

USER=serveruser
RELEASE=/kernels/2.6.18-92.1.18.el5/build
INCLUDE=/mytapsets
INCLUDE+=/yourtapsets
BUILD='VARIABLE1=VALUE1 VARIABLE2=VALUE2'
DEFINE=STP_MAXMEMORY=1024
DEFINE+=DEBUG_TRANS
RUNTIME=/myruntime
NICKNAME=my-server
SSL=/path/to/NSS/certificate/database

امنیت اتصال شبکه SSL بین کلاینت و سرور به مدیریت صحیح گواهی‌های سرور بستگی دارد.

قابلیت اعتماد یک سرور کامپایل systemtap مشخص را نمی‌توان بدون یک مرجع صدور گواهی (CA) معتبر که گواهی‌های سرور کامپایل systemtap را صادر کند به صورت خودکار تعیین کرد. این امر در استفاده روزمره عملی نیست و بنابراین کلاینت‌ها باید سرورها را بر اساس پایگاه‌داده گواهی‌های سرور مورد اعتماد خودشان احراز هویت کنند. در این زمینه، ایجاد اعتماد به یک سرور مشخص توسط یک کلاینت، به معنای افزودن گواهی آن سرور به پایگاه‌داده سرورهای مورد اعتماد کلاینت است.

برای اسکریپت راه‌اندازی (initscript) stap-server روی میزبان محلی، این کار به صورت خودکار انجام می‌شود. هنگامی که بسته systemtap-server نصب می‌شود، گواهی سرور برای کاربر پیش‌فرض (stap-server) به صورت خودکار تولید و نصب می‌گردد. این بدان معناست که سرورهای راه‌اندازی‌شده توسط initscript با نام stap-server و با کاربر پیش‌فرض، به طور خودکار توسط کلاینت‌های روی میزبان محلی هم به عنوان همتای SSL و هم به عنوان امضاکننده ماژول systemtap مورد اعتماد هستند.

علاوه بر این، هنگامی که stap توسط یک کاربر بدون امتیاز (کاربری غیر از root، عضوی غیر از گروه stapdev، اما عضوی از گروه stapusr و احتمالاً گروه stapsys) فراخوانی می‌شود، گزینه‌های --use-server و --privilege به طور خودکار به گزینه‌های مشخص‌شده اضافه می‌شوند. این بدان معناست که کاربران بدون امتیاز روی میزبان محلی می‌توانند از سرور موجود روی میزبان محلی در حالت بدون امتیاز و بدون نیاز به هیچ‌گونه تنظیمات یا گزینه اضافی استفاده کنند. کاربران عادی (کسانی که در هیچ‌یک از گروه‌های SystemTap عضو نیستند) نیز می‌توانند از طریق گزینه‌های --use-server و --privilege از سرورهای کامپایل استفاده کنند؛ اما البته آن‌ها قادر به بارگذاری ماژول نخواهند بود (از گزینه -p4 می‌توان برای متوقف کردن عملیات پیش از بارگذاری استفاده کرد).

به منظور استفاده از سروری که روی میزبان دیگری در حال اجراست، گواهی آن سرور باید روی میزبان کلاینت نصب شود. برای جزئیات بیشتر به گزینه --trust-servers در صفحه راهنمای stap(1) و فایل README.unprivileged در سورس‌های systemtap مراجعه کنید.

برای مشاهده مجموعه‌ای از اسکریپت‌های نمونه systemtap به صفحه راهنمای stapex(3stap) مراجعه کنید.

برای راه‌اندازی سرورهای پیکربندی‌شده، یا سرور پیش‌فرض در صورت عدم پیکربندی هیچ سروری:

$ [ service ] stap-server start

برای راه‌اندازی سروری که از تمام نگارش‌های هسته نصب‌شده در /lib/modules پشتیبانی می‌کند:

$ [ service ] stap-server start -i

برای دریافت اطلاعات درباره سرور(های) در حال اجرا:

$ [ service ] stap-server status

برای راه‌اندازی سروری مشابه سرور دیگر اما با معماری مقصد متفاوت، از طریق ارجاع به نام مستعار سرور اول:

$ [ service ] stap-server start -n NICKNAME -a ARCH

برای راه‌اندازی سروری برای نگارشی از هسته که نصب نشده است (کامپایل متقاطع یا cross-compiling):

$ [ service ] stap-server start -a ARCH -r /BUILDDIR

برای متوقف کردن یکی از سرورها با ارجاع به شناسه فرآیند آن (به‌دست‌آمده از اجرای stap-server status):

$ [ service ] stap-server stop -p PID

برای اجرای یک اسکریپت با استفاده از سرور کامپایل:

$ stap SCRIPT --use-server

برای اجرای یک اسکریپت به عنوان کاربر بدون امتیاز با استفاده از سرور کامپایل:

$ stap SCRIPT

برای متوقف کردن تمام سرورهای در حال اجرا:

$ [ service ] stap-server stop

برای راه‌اندازی مجدد سرورها پس از تغییر در پیکربندی سراسری و/یا زمانی که سرورهای پیش‌فرض افزوده، تغییر داده یا حذف شده‌اند:

$ [ service ] stap-server force-reload

ابزار Systemtap یک ابزار مدیریتی است. این ابزار ساختارهای داده داخلی هسته و اطلاعات به طور بالقوه خصوصی کاربران را آشکار می‌کند. برای اطلاعات بیشتر در مورد ایمنی و امنیت به صفحه راهنمای stap(1) مراجعه کنید.

به عنوان یک سرور شبکه، stap-server باید با احتیاط فعال شود تا اثرات بالقوه باگ‌ها یا کاربران مخرب محدود گردد. اقدامات پیشگیرانه زیر را مد نظر قرار دهید:

1
اجرای stap-server به عنوان یک کاربر بدون امتیاز، و هرگز به عنوان ریشه (root).

هنگامی که به عنوان یک سرویس (یعنی service stap-server ...) فراخوانی می‌شود، هر سرور به طور پیش‌فرض به عنوان کاربر stap-server اجرا می‌گردد. هنگامی که به طور مستقیم (یعنی stap-server ...) فراخوانی شود، هر سرور به طور پیش‌فرض به عنوان کاربری که آن را فراخوانی کرده اجرا می‌شود. در هر دو حالت، می‌توان کاربر دیگری را با استفاده از گزینه -u هنگام فراخوانی، یا با تعیین STAP_USER=username در فایل پیکربندی سراسری یا با تعیین USER=username در فایل پیکربندی سرور مجزا انتخاب کرد. کاربر فراخواننده باید دسترسی و اختیار لازم برای اجرای فرآیندها به عنوان کاربر دیگر را داشته باشد. بخش پیکربندی (CONFIGURATION) را ببینید.

کاربر انتخاب‌شده باید دسترسی نوشتن به فایل لاگ سرور را داشته باشد. محل فایل لاگ سرور را می‌توان با تنظیم LOG_FILE=path در فایل پیکربندی سراسری تغییر داد. بخش پیکربندی (CONFIGURATION) را ببینید.

کاربر انتخاب‌شده باید دسترسی خواندن/نوشتن به دایرکتوری حاوی فایل‌های وضعیت سرور را داشته باشد. محل فایل‌های وضعیت سرور را می‌توان با تنظیم STAT_PATH=path در فایل پیکربندی سراسری تغییر داد. بخش پیکربندی (CONFIGURATION) را ببینید.

کاربر انتخاب‌شده باید دسترسی خواندن/نوشتن به دایرکتوری ساخت uprobes.ko و فایل‌های آن را داشته باشد.

در صورتی که کاربر انتخاب‌شده root باشد، هیچ‌یک از اشکال stap-server اجرا نخواهند شد.

2
اجرای درخواست‌های stap-server با محدودیت‌های منابع که حداکثر زمان پردازنده (CPU time)، اندازه فایل و مصرف حافظه را تعیین می‌کند، تا اثرات پردازش ورودی‌های بسیار بزرگ یا نامعتبر مهار شود.

هنگامی که کاربر اجراکننده سرور stap-server باشد، هر درخواست سرور با محدودیت‌های مشخص‌شده در ~stap-server/.systemtap/rc اجرا می‌شود؛ در غیر این صورت هیچ محدودیتی اعمال نخواهد شد.

3
اجرای stap-server با متغیر محیطی TMPDIR که به یک دایرکتوری جداگانه و/یا دارای سهمیه دیسک (quota) اشاره دارد، تا از پر شدن سیستم‌فایل‌های مهم جلوگیری شود.

مقدار پیش‌فرض TMPDIR برابر با /tmp/ است.

4
فعال‌سازی فایروال‌های شبکه برای محدود کردن اتصالات کلاینت‌های stap به شبکه‌های نسبتاً قابل اعتماد.

جهت انتخاب خودکار سرورها توسط کلاینت‌ها، ابزار avahi باید هم روی میزبان سرور و هم میزبان کلاینت نصب شده باشد و به پیام‌های mDNS اجازه عبور از فایروال داده شود.

سرور کامپایل systemtap و ابزارهای مرتبط با آن از لایه سوکت‌های امن (SSL) همان‌طور که توسط Network Security Services (NSS) پیاده‌سازی شده برای امنیت شبکه استفاده می‌کنند. همچنین از NSS برای تولید و مدیریت گواهی‌ها استفاده می‌شود. پایگاه‌های داده گواهی مرتبط باید به منظور حفظ امنیت سیستم محافظت شوند. استفاده از ابزارهای ارائه‌شده به اطمینان از حفظ محافظت مناسب کمک خواهد کرد. کلاینت systemtap پیش از استفاده از هرگونه پایگاه‌داده گواهی، مجوزهای دسترسی مناسب را بررسی می‌کند.

فایل‌های مهم و مسیرهای مربوط به آن‌ها را می‌توان در صفحه راهنمای
stappaths(7) یافت.

stap(1),
staprun(8),
stapprobes(3stap),
stappaths(7),
stapex(3stap),
avahi,
ulimit(1),
NSS

از پیوند سامانه ردیابی اشکالات (Bugzilla) در صفحه وب پروژه یا فهرست پستی ما استفاده کنید: http://sourceware.org/systemtap, <systemtap@sourceware.org>.