| NSS-MYHOSTNAME(8) | nss-myhostname | NSS-MYHOSTNAME(8) |
نام (NAME)
nss-myhostname - تفکیک خودکار نام میزبان محلی به نشانیهای IP
خلاصه دستور (SYNOPSIS)
libnss_myhostname.so.2
توضیحات (DESCRIPTION)
nss-myhostname یک ماژول افزونه برای قابلیت سوئیچ سرویس نام گنو (NSS یا Name Service Switch) در کتابخانه سی گنو (glibc) است که عمدتاً تفکیک نام میزبان را برای نام میزبان محلی پیکربندیشده سیستم، همانگونه که توسط gethostname(2) بازگردانده میشود، فراهم میکند. نامهای میزبان دقیقی که توسط این ماژول تفکیک میشوند عبارتند از:
نرمافزارهای مختلفی به یک نام میزبان محلی که همواره قابل تفکیک باشد وابسته هستند. هنگام استفاده از نامهای میزبان پویا، این امر به صورت سنتی با تغییر همزمان /etc/hosts هنگام تغییر نام میزبان به دست میآمد. این رویکرد مشکلساز است چرا که نیازمند یک سیستم فایل /etc/ قابل نوشتن بوده و آسیبپذیر است زیرا این پرونده ممکن است همزمان توسط مدیر سیستم نیز ویرایش شود. با فعال بودن nss-myhostname، تغییر /etc/hosts غیرضروری است و در بسیاری از سیستمها، این پرونده کاملاً اختیاری میشود.
برای فعالسازی ماژولهای NSS، عبارت "myhostname" را به خطی که با "hosts:" در /etc/nsswitch.conf شروع میشود اضافه کنید.
توصیه میشود "myhostname" پس از "files" و پیش از "dns" قرار گیرد. این کار نامهای میزبان شناختهشده مانند "localhost" و نامهای میزبان ماشین را به صورت محلی تفکیک میکند. این رفتار با عملکرد nss-resolve سازگار است و همچنان امکان بازنویسی از طریق /etc/hosts را فراهم میکند.
لطفاً توجه داشته باشید که nss-myhostname (و nss-resolve) در جهت عکس نیز تفکیک را انجام میدهند — از نشانیهای IP متصل محلی به نامهای میزبان. اگر به دریافت این جستجو از طریق DNS متکی هستید، ممکن است بخواهید ترتیب موارد را به شکل دیگری تنظیم کنید.
مثال (EXAMPLE)
در اینجا نمونهای از یک پروندهٔ /etc/nsswitch.conf آورده شده است که nss-myhostname را به درستی فعال میکند:
passwd: files systemd group: files [SUCCESS=merge] systemd shadow: files systemd gshadow: files systemd hosts: mymachines resolve [!UNAVAIL=return] files myhostname dns networks: files protocols: db files services: db files ethers: db files rpc: db files netgroup: nis
برای آزمایش، از ابزار getent(1) مربوط به glibc استفاده کنید:
$ getent ahosts `hostname` ::1 STREAM omega ::1 DGRAM ::1 RAW 127.0.0.2 STREAM 127.0.0.2 DGRAM 127.0.0.2 RAW
در این حالت، نام میزبان محلی omega است.
همچنین ببینید (SEE ALSO)
systemd(1), nss-systemd(8), nss-resolve(8), nss-mymachines(8), nsswitch.conf(5), getent(1)
| systemd 261.2 |