| SNMP_CONFIG(5) | Net-SNMP | SNMP_CONFIG(5) |
نام (NAME)
snmp_config - قالب و ساختار فایلهای پیکربندی ابزارهای Net-SNMP
توضیحات (DESCRIPTION)
بسته Net-SNMP از فایلهای پیکربندی گوناگونی برای پیکربندی برنامههای خود استفاده میکند. این صفحه راهنما صرفاً ماهیت کلی آنها را شرح میدهد تا نیازی به تکرار آن در سایر صفحات راهنما نباشد.
دایرکتوریهای مورد جستجو (DIRECTORIES SEARCHED)
در وهله اول، مکانهای متعددی وجود دارند که فایلهای پیکربندی میتوانند در آنها یافت و خوانده شوند. بهطور پیشفرض، برنامهها به ترتیب در ۴ دایرکتوری زیر به دنبال فایلهای پیکربندی میگردند: /etc/snmp، /usr/share/snmp، /usr/lib/snmp و $HOME/.snmp. در هر یک از این دایرکتوریها، برنامه به دنبال فایلهای snmp.conf، snmpd.conf و/یا snmptrapd.conf، و همچنین snmp.local.conf، snmpd.local.conf و/یا snmptrapd.local.conf میگردد. فایلهای *.local.conf همیشه در آخر خوانده میشوند. بدین ترتیب، برای هر نوع فایل پیکربندی مشخص، ۸ مکان پیشفرض وجود دارد که میتواند در آنها قرار داشته باشد.
علاوه بر این، مسیر جستجوی پیشفرض بالا را میتوان با مقداردهی متغیر محیطی SNMPCONFPATH به فهرستی از دایرکتوریها برای جستجو که با دونقطه (:) از هم جدا شدهاند، بازنویسی کرد. هنگام اجرای برنامههایی که از حافظه ذخیرهسازی پایدار استفاده میکنند، مانند snmpd، باید مسیر مربوط به دادههای پایدار نیز لحاظ شود.
برنامهها فایلهای پیکربندی پایدار را با ترتیب اولویت زیر میخوانند:
فایل
مشخصشده
در متغیر
محیطی SNMP_PERSISTENT_FILE
دایرکتوریهای
مشخصشده
در متغیر
محیطی SNMPCONFPATH
دایرکتوری
تعریفشده
توسط متغیر
persistentDir در snmp.conf
دایرکتوری
مشخصشده
در متغیر
محیطی SNMP_PERSISTENT_DIR
دایرکتوری
پیشفرض
/var/net-snmp
در نهایت، برنامهها فایلهای پیکربندی پایدار را با ترتیب اولویت زیر مینویسند:
فایل
مشخصشده
در متغیر
محیطی SNMP_PERSISTENT_FILE
دایرکتوری
تعریفشده
توسط متغیر
persistentDir در snmp.conf
دایرکتوری
مشخصشده
در متغیر
محیطی SNMP_PERSISTENT_DIR
دایرکتوری
پیشفرض
/var/net-snmp
نکته: هنگام استفاده از SNMP_PERSISTENT_FILE، نام فایل باید با نام برنامه مطابقت داشته باشد؛ به عنوان مثال: /var/net-snmp/snmpd.conf.
انواع فایلهای پیکربندی (CONFIGURATION FILE TYPES)
هر برنامه ممکن است از چندین فایل پیکربندی استفاده کند که جنبههای مختلف برنامه را پیکربندی میکنند. به عنوان مثال، عامل SNMP (snmpd) نحوه درک دستورالعملهای پیکربندی را هم در فایلهای snmpd.conf و هم در فایلهای snmp.conf میداند. در واقع، بیشتر برنامهها نحوه خواندن محتویات فایلهای snmp.conf را میفهمند. با این حال، توجه داشته باشید که دستورالعملهای پیکربندی که در یک فایل پشتیبانی میشوند ممکن است در فایل دیگری شناخته نشوند. برای کسب اطلاعات بیشتر، صفحه راهنمای مربوط به هر نوع فایل پیکربندی را مطالعه کنید. همچنین، بیشتر برنامهها از گزینه -H در خط فرمان پشتیبانی میکنند که فهرستی از فایلهای پیکربندی مورد جستجو و دستورالعملهای پشتیبانیشده در هر یک را ارائه میدهد.
فایل پیکربندی snmp.conf به عنوان یک فایل پیکربندی در سطح کل مجموعه برنامهها در نظر گرفته شده است که از دستورالعملهای سودمند برای کنترل ماهیت بنیادین تمام برنامههای SNMP پشتیبانی میکند؛ مانند نحوه کار و تجزیه فایلهای متنی MIB در SNMP.
تغییر نوع پیکربندی در میانه فایل (SWITCHING CONFIGURATION TYPES IN MID-FILE)
این امکان وجود دارد که در میانه یک فایل، نوع پیکربندی را که تجزیهکننده قرار است بخواند تغییر دهید. از آنجا که این عبارت ممکن است چندان واضح نباشد، اجازه دهید مثالی بزنیم: فرض کنید میخواهید خروجی دامپ بستهها را بهطور پیشفرض برای عامل فعال کنید، اما مایل نیستید این کار برای سایر برنامهها (مانند snmpget، snmpwalk و...) انجام شود. بهطور معمول برای فعالسازی دامپ بستهها در فایل پیکربندی باید خطی مانند:
dumpPacket true
را درون فایل snmp.conf قرار دهید. اما این کار آن را برای تمام برنامهها فعال میکند. بنابراین، در عوض میتوانید همان خط را در فایل snmpd.conf قرار دهید تا فقط بر دیمن snmpd اعمال شود. با این حال، باید به تجزیهکننده اطلاع دهید که انتظار چنین خطی را داشته باشد. این کار با قرار دادن یک نشانه ویژه تعیین نوع در داخل یک جفت براکت [] انجام میشود. به عبارت دیگر، در داخل فایل snmpd.conf خود میتوانید دستورالعمل snmp.conf فوق را با افزودن خطی به این شکل درج کنید:
[snmp] dumpPacket true
این به تجزیهکننده میگوید که خط بالا را به گونهای پردازش کند که گویی درون یک فایل snmp.conf قرار دارد، نه یک فایل snmpd.conf. اگر میخواهید به جای فقط یک خط، چندین خط را پردازش کنید، میتوانید با قرار دادن نشانه ویژه در یک خط مستقل، تغییر زمینه را بر ادامه فایل یا تا دستورالعمل تغییر زمینه بعدی اعمال کنید:
# make this file handle snmp.conf tokens: [snmp] dumpPacket true logTimestamp true # return to our original snmpd.conf tokens: [snmpd] rocommunity mypublic
از همین روش میتوان برای تنظیم دستورالعملهای پیکربندی برای یک برنامه کلاینت خاص (یا گروهی از برنامهها) استفاده کرد. به عنوان مثال، هر برنامهای که از فراخوانی 'snmp_parse_args()' برای مدیریت آرگومانهای خط فرمان استفاده میکند (از جمله ابزارهای استاندارد خط فرمان که به عنوان بخشی از توزیعهای Net-SNMP ارائه میشوند)، فایل پیکربندی 'snmpapp.conf' را بهطور خودکار خواهد خواند. برای اعمال تنظیمات سطح کتابخانه برای این برنامهها (و نه سایر ابزارهای خاصتر)، از پیکربندیهایی مانند نمونه زیر استفاده کنید:
[snmp] defCommunity myCommunity
برای یک دستورالعمل منفرد، یا:
# make this file handle snmp.conf tokens: [snmp] defCommunity myCommunity defVersion 2c # return to our original snmpapp.conf tokens: [snmpapp]
برای چندین تنظیم مختلف. به همین ترتیب برای هر نشانه برنامه دیگر (همانطور که به ()init_snmp ارسال میشود) نیز صدق میکند.
کامنتها (COMMENTS)
هر خطی در فایلهای پیکربندی که با نویسه '#' آغاز شود، به عنوان کامنت در نظر گرفته شده و پردازش نمیشود.
فراخوانی سایر فایلهای پیکربندی (INCLUDING OTHER CONFIGURATION FILES)
امکان فراخوانی سایر فایلهای پیکربندی برای پردازش در حین پردازش عادی فایل پیکربندی وجود دارد:
# include site specific config includeFile site.conf
این دستور فایل پیکربندی مشخصشده را بارگذاری میکند. مسیر فایل باید مطلق (شروع با '/') یا نسبی باشد. مسیر نسبی نسبت به دایرکتوریای سنجیده میشود که فایل والد حاوی دستورالعمل 'includeFile' در آن قرار دارد.
نیازی نیست نام فایل فراخوانیشده پسوند '.conf' داشته باشد.
# include a all *.conf files in a directory includeDir /etc/snmp/config.d
این دستور دایرکتوری مشخصشده را برای تمام فایلهای دارای پسوند '.conf' جستجو کرده و آنها را به گونهای پردازش میکند که گویی با استفاده از دستورالعمل includeFile فراخوانی شدهاند. فایلهای پیکربندی به هیچ ترتیب خاصی پردازش نمیشوند.
دایرکتوری مشخصشده باید یک مسیر دایرکتوری مطلق باشد.
رابط برنامهنویسی (API INTERFACE)
اطلاعات مربوط به نوشتن کد C که از این سیستم در ماژولهای MIB عامل یا در برنامهها استفاده میکند را میتوانید در صفحه راهنمای netsnmp_config_api(3) بیابید.
همچنین ببینید (SEE ALSO)
snmpconf(1), netsnmp_config_api(3), snmp.conf(5), snmpd.conf(5)
| 08 Mar 2010 | V5.9.5.2 |