UPSD.CONF(5) راهنمای NUT UPSD.CONF(5)

upsd.conf - پیکربندی کارساز داده upsd در Network UPS Tools

برنامه upsd(8) از این فایل برای کنترل دسترسی به کارساز و تنظیم برخی مقادیر پیکربندی متفرقه دیگر استفاده می‌کند. این فایل حاوی جزئیات مربوط به کنترل‌های دسترسی است، بنابراین آن را امن نگه دارید. در حالت ایده‌آل، تنها فرایند upsd باید قادر به خواندن آن باشد.

•محتوای این فایل باید تماماً اسکی (ASCII) محض باشد (کدهای نویسه‌ای خارج از این محدوده با یک پیام هشدار نادیده گرفته می‌شوند).
•مجوزهای کاربری زمان اجرا برای دسترسی به فایل (و احتمالاً دایرکتوری حاوی آن) را به گونه‌ای متوازن کنید که تنها upsd قادر به خواندن آن باشد؛ نیازی به دسترسی نوشتن نیست. معمولاً از chown root:nut و chmod 640 برای برپایی مجوزهای قابل قبول فایل استفاده می‌شود.
•بسته‌ها (و دستورالعمل‌های ساخت) معمولاً یک مجموعه از حساب‌های کاربری و گروهی را برای NUT آماده می‌کنند. ساخت‌های سفارشی با حداقل پیکربندی ممکن است حتی از nobody:nogroup یا موارد مشابه استفاده کنند که ذاتاً ناامن است.
•در سیستم‌هایی با ملاحظات امنیتی بیشتر، درایورهای NUT و کارساز داده باید با حساب‌های کاربری مجزا اجرا شوند که برای دسترسی مشترک به فایل‌های سوکت محلی یونیکس و دایرکتوری آن‌ها، عضو یک گروه یکسان باشند، اما برای دسترسی به فایل پیکربندی در گروه‌های متفاوتی قرار گیرند. این امر مستلزم آن است که برخی دیمن‌ها از تنظیمات سفارشی user، group، RUN_AS_USER و/یا RUN_AS_GROUP برای لغو و بازنویسی مقدار واحد توکار استفاده کنند.
•توجه داشته باشید که کلاینت‌های نظارتی، گزارش‌گیری و غیره تنها از طریق شبکه ارتباط برقرار می‌کنند. آن‌ها نیازی به دسترسی به این فایل‌ها و دایرکتوری‌ها ندارند و می‌توانند به‌طور کامل تحت یک کاربر و گروه مستقل اجرا شوند.
•امنیت هرگونه نسخه پشتیبان از این فایل را نیز مد نظر داشته باشید، مانند فایل‌های آرشیوی که ممکن است در آن‌ها قرار گیرد.

MAXAGE seconds

برنامه upsd معمولاً به یک درایور اجازه می‌دهد تا ۱۵ ثانیه پیش از آنکه داده‌ها «بیات» (stale) اعلام شوند، پاسخ ندهد. اگر درایور شما زمان بسیار زیادی برای پردازش به‌روزرسانی‌ها صرف می‌کند اما در غیر این صورت فعال و کارآمد است، می‌توانید از MAXAGE استفاده کنید تا upsd مدت بیشتری منتظر بماند.

بیشتر کاربران باید این گزینه را روی مقدار پیش‌فرض بگذارند.

TRACKINGDELAY seconds

هنگامی که رهگیری وضعیت دستورات آنی و تنظیم متغیرها فعال باشد، اطلاعات مربوط به وضعیت اجرا در طول این مدت زمان نگهداری شده و سپس پاک‌سازی می‌شوند. مقدار پیش‌فرض ۳۶۰۰ (۱ ساعت) است.

ALLOW_NO_DEVICE Boolean

به‌طور معمول upsd نیازمند آن است که هنگام شروع به کار دیمن، حداقل یک بخش دستگاه در ups.conf تعریف شده باشد تا داده‌های آن را ارائه دهد. برای سرویس‌هایی که به‌صورت خودکار مدیریت می‌شوند ممکن است ترجیح داده شود که upsd همیشه در حال اجرا باشد و هنگامی که دستگاه‌های برق تعریف شدند، پیکربندی مجدداً بارگذاری شود.

مقادیر بولی true، yes، on و 1 به این معنی هستند که در صورت یافت نشدن بخش‌های دستگاه در ups.conf، کارساز از شروع به کار امتناع نخواهد کرد.

مقادیر بولی false، no، off و 0 به این معنی هستند که در صورت یافت نشدن بخش دستگاه در ups.conf، کارساز باید از شروع به کار خودداری کند. این حالت پیش‌فرض است، مگر اینکه محیط فراخواننده متغیری با همین نام را برای اعمال یک مقدار در اجرای جاری تنظیم کند. یکی از راه‌های این اتفاق این است که شخصی آن را در فایل nut.conf مورد استفاده اسکریپت‌های init و اسکریپت‌های متد service unit از حالت کامنت خارج کند.

ALLOW_NOT_ALL_LISTENERS Boolean

به‌طور معمول upsd نیازمند آن است که تمام دستورالعمل‌های LISTEN در لحظه شروع به کار دیمن قابل برآورده شدن باشند. اگر آدرس IP شبکه محلی (یا نام میزبان) شما که در یکی از دستورالعمل‌های LISTEN استفاده شده است همیشه در دسترس نباشد، و بنا به دلایلی نمی‌خواهید صرفاً از LISTEN * روی رابط عمومی استفاده کنید، اما به عنوان مثال همچنان می‌خواهید از upsmon روی localhost استفاده نمایید، این گزینه می‌تواند کمک‌کننده باشد. توجه داشته باشید که اگر آدرس IP تعیین‌شده در LISTEN بعداً در دسترس قرار گیرد، باید upsd را مجدداً راه‌اندازی (restart) کنید تا آن را دریافت کند.

مقادیر بولی true، yes، on و 1 به این معنی هستند که اگر کارساز بتواند حداقل روی یک رابط شنود کند، از شروع به کار امتناع نخواهد کرد.

مقادیر بولی false، no، off و 0 به این معنی هستند که اگر کارساز نتواند روی تک تک رابط‌های (غیر localhost) موجود در upsd.conf شنود کند، باید از شروع به کار خودداری کند. این حالت پیش‌فرض است، مگر اینکه محیط فراخواننده متغیری با همین نام را برای اعمال یک مقدار در اجرای جاری تنظیم کند. یکی از راه‌های این اتفاق این است که شخصی آن را در فایل nut.conf مورد استفاده اسکریپت‌های init و اسکریپت‌های متد service unit از حالت کامنت خارج کند.

STATEPATH path

به upsd اعلام می‌کند که به جای مسیر پیش‌فرضی که در هنگام کامپایل برنامه تنظیم شده است، سوکت‌های وضعیت درایور را در path جستجو کند.

توجه داشته باشید که درایورها باید از همان مسیر استفاده کنند، بنابراین upsd تنظیم هم‌نام موجود در بخش سراسری ups.conf (در صورت وجود) را بر تنظیم خود ترجیح می‌دهد.

متغیر محیطی NUT_STATEPATH تنظیم‌شده توسط فراخواننده (مانند اسکریپت init یا متد سرویس) می‌تواند این تنظیم را لغو و بازنویسی کند.

LISTEN interface port

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

به‌صورت اختیاری می‌توان به جای مقدار پیش‌فرضی که در کد کامپایل شده است، روی درگاه TCP port شنود کرد. این گزینه هر مقداری را که با configure --with-port تنظیم کرده‌اید لغو می‌کند. اگر آن را با configure یا این مقدار تغییر ندهید، upsd روی درگاه 3493 برای این رابط شنود خواهد کرد.

می‌توان چندین آدرس LISTEN را مشخص کرد. حالت پیش‌فرض در صورت مشخص نشدن آدرس‌های LISTEN، اتصال به 127.0.0.1 است (و همچنین ::1 در صورتی که پشتیبانی از IPv6 کامپایل شده باشد).

برای شنود روی تمام رابط‌های موجود و آدرس‌های IP پیکربندی‌شده در سیستم خود، می‌توانید به‌ترتیب از :: برای IPv6 و 0.0.0.0 برای IPv4 استفاده کنید. به عنوان یک حالت خاص، دستورالعمل واحد LISTEN * <port> (با یک ستاره) سعی می‌کند هم روی آدرس‌های عام (wild-card) برای IPv6 (::0) و هم IPv4 (0.0.0.0) بر اساس آرگومان‌های خط فرمان upsd یا پیکربندی سیستم شنود کند. توجه داشته باشید که اگر سیستم از آدرس‌دهی نگاشت IPv4 روی IPv6 مطابق با RFC-3493 پشتیبانی کند و اجازه غیرفعال‌سازی این حالت را ندهد، ممکن است یک سوکت شنود واحد برای مدیریت هر دو خانواده آدرس وجود داشته باشد.

LISTEN 127.0.0.1
LISTEN 192.168.50.1
LISTEN myhostname.mydomain
LISTEN ::1
LISTEN 2001:0db8:1234:08d3:1319:8a2e:0370:7344

این پارامتر تنها در زمان راه‌اندازی خوانده خواهد شد. برای اعمال هرگونه تغییر اعمال‌شده در اینجا، باید upsd را مجدداً راه‌اندازی کنید (نه اینکه صرفاً آن را reload کنید).

لطفاً توجه داشته باشید که نسخه‌های قدیمی‌تر NUT در صورت پشتیبانی سیستم، ممکن بود از حالت نگاشت IPv4 روی IPv6 (که گاهی با نام «dual-stack» نیز شناخته می‌شود) استفاده کنند. نسخه‌های فعلی (از زمان انتشار NUT v2.8.1) صراحتاً تلاش می‌کنند تا سوکت‌های شنود خود را تنها به یک خانواده آدرس در هر سوکت محدود کنند و در نتیجه تا جای ممکن از حالت نگاشت IPv4 خودداری نمایند.

MAXCONN connections

مقدار پیش‌فرض آن برابر با حداکثر تعداد مجاز در سیستم شما است. هر UPS، هر آدرس LISTEN و هر کلاینت به عنوان یک اتصال شمرده می‌شوند. اگر ظرفیت اتصال‌های کارساز پر شود، دیگر اتصالات ورودی جدید کلاینت‌ها را نمی‌پذیرد. این مقدار را تنها در صورتی تنظیم کنید که دقیقاً بدانید چه کاری انجام می‌دهید.

توجه داشته باشید که در برخی پلتفرم‌ها ممکن است تعداد توصیف‌کننده‌های فایل یا هندل‌هایی که می‌توان در یک عملیات poll کرد کمتر باشد؛ در این حالت کارساز چندین گروه کوچک‌تر را تا زمان مدیریت تمام اتصالات تحت نظارت خود poll خواهد کرد. با این حال با وجود تعداد زیادی اتصال، این موضوع ممکن است بر تأخیر بین حلقه‌های پردازش و زمان لازم قبل از دیدن و پردازش پیام‌های دریافتی تأثیر بگذارد.

CERTFILE certificate file

هنگامی که برنامه با پشتیبانی از SSL بر پایه OpenSSL کامپایل شده باشد، می‌توانید فایل گواهی را در اینجا وارد کنید.

گواهی‌ها باید در قالب PEM باشند و باید به‌ترتیب با گواهی موضوع (گواهی کارساز)، و به دنبال آن گواهی‌های میانی CA (در صورت وجود) و بالاترین سطح CA (ریشه) مرتب شوند. در پایان نیز باید کلید کارساز قرار گیرد. برای اطلاعات بیشتر درباره پشتیبانی SSL در NUT، فایل docs/security.txt در سورس‌های NUT، یا فصل امنیت در راهنمای کاربری NUT را ببینید.

CERTPATH certificate database

هنگامی که برنامه با پشتیبانی از SSL بر پایه NSS کامپایل شده باشد، می‌توانید مسیر پایگاه‌داده گواهی را در اینجا وارد کنید.

گواهی‌ها در یک پایگاه‌داده اختصاصی (داده‌های تقسیم‌شده در ۳ فایل) ذخیره می‌شوند. مسیر دایرکتوری پایگاه‌داده را مشخص کنید.

CERTIDENT certificate name database password

هنگامی که برنامه با پشتیبانی از SSL بر پایه NSS کامپایل شده باشد، می‌توانید نام گواهی را برای بازیابی از پایگاه‌داده جهت احراز هویت کارساز و گذرواژه لازم برای دسترسی به کلید خصوصی مربوط به گواهی مشخص کنید.

نکته
اگر از مقداری استفاده می‌کنید که دارای فاصله است، حتماً "certificate name" را در جفت‌گیومه قرار دهید.

CERTREQUEST certificate request level

هنگامی که برنامه با پشتیبانی از SSL بر پایه NSS و اعتبارسنجی گواهی کلاینت کامپایل شده باشد (به‌طور پیش‌فرض غیرفعال است، ‘docs/security.txt` را در سورس‌های NUT ببینید)، می‌توانید مشخص کنید که آیا upsd گواهی‌های کلاینت‌ها را درخواست کند یا الزامی نماید.

هشدار
تا زمانی که issue #3329 حل نشود، ممکن است حتی همه کلاینت‌های رسمی NUT راهکاری برای ارائه یک گواهی خاص نداشته باشند.
مقادیر مجاز عبارتند از:
•0 یا NO برای عدم درخواست از کلاینت‌ها جهت ارائه هرگونه گواهی
•1 یا REQUEST برای الزام تمام کلاینت‌ها به ارائه یک گواهی
•2 یا REQUIRE برای الزام تمام کلاینت‌ها به ارائه یک گواهی معتبر (با زنجیره احراز هویت مورد اعتماد پایگاه‌داده کارساز)

DISABLE_WEAK_SSL BOOLEAN

به upsd اعلام می‌کند تا پروتکل‌ها و رمزهای (ciphers) قدیمی/ضعیف SSL/TLS را غیرفعال کند. در نسخه‌های نسبتاً جدید OpenSSL یا NSS، این مورد به TLSv1.2 یا بهتر محدود خواهد شد.

مگر اینکه کلاینت‌های واقعاً قدیمی داشته باشید، احتمالاً مایل به فعال‌سازی این گزینه خواهید بود. در حال حاضر برای اطمینان از سازگاری با تنظیمات موجود، به‌طور پیش‌فرض غیرفعال است.

DEBUG_MIN INTEGER

به‌صورت اختیاری یک حداقل سطح اشکال‌زدایی (debug) را برای دیمن داده upsd مشخص می‌کند، مثلاً برای عیب‌یابی یک استقرار، بدون تأثیر مستقیم روی حالت اجرای پیش‌زمینه یا پس‌زمینه. گزینه خط فرمان -D تنها می‌تواند این سطح جزئیات را افزایش دهد.

نکته
اگر دیمن در حال اجرا یک دستور reload دریافت کند، وجود مقدار DEBUG_MIN NUMBER در فایل پیکربندی می‌تواند برای تنظیم میزان جزئیات اشکال‌زدایی در دیمن سرویسِ در حال اجرا استفاده شود (توصیه می‌شود پس از اتمام کار، آن را کامنت کنید یا مقدار حداقل را به صفر صریح تنظیم نمایید تا از لاگ‌های بسیار حجیم و فشار بر سیستم I/O جلوگیری شود). به یاد داشته باشید که برای این تنظیم در زمان اجرا، مقدار DEBUG_MIN موجود در فایل‌های پیکربندی بازبارگذاری‌شده (reloaded) فوراً اعمال شده و بر هر مقدار تنظیم‌شده قبلی (از فایل یا گزینه‌های CLI)، صرف‌نظر از اینکه سطح لاگ قبلی بالاتر یا پایین‌تر از عدد تازه‌یافته باشد، اولویت دارد؛ با این حال، نبود مقدار (یا کامنت بودن آن) میزان جزئیات لاگ از پیش فعال را تغییر نمی‌دهد.

upsd(8), nutupsdrv(8), upsd.users(5)

صفحه اصلی NUT (Network UPS Tools): https://www.networkupstools.org/historic/v2.8.5/

06/21/2026 Network UPS Tools 2.8.5