getent(1) General Commands Manual getent(1)

getent - دریافت مدخل‌ها از کتابخانه‌های سوئیچ سرویس نام (Name Service Switch)

getent [option ...] database key ...

دستور getent مدخل‌های پایگاه‌های داده تحت پشتیبانی کتابخانه‌های سوئیچ سرویس نام (Name Service Switch) را نمایش می‌دهد، که در /etc/nsswitch.conf پیکربندی می‌شوند. اگر یک یا چند آرگومان key ارائه شود، تنها مدخل‌هایی که با کلیدهای ارائه‌شده مطابقت دارند نمایش داده می‌شوند. در غیر این صورت، چنانچه هیچ key مشخص نشده باشد، تمام مدخل‌ها نمایش داده خواهند شد (مگر اینکه پایگاه داده از شمارش (enumeration) پشتیبانی نکند).

database می‌تواند هر یک از مواردی باشد که توسط کتابخانه C گنو پشتیبانی می‌شوند و در زیر فهرست شده‌اند:

هنگامی که هیچ key مشخص نشده باشد، از sethostent(3)، gethostent(3) و endhostent(3) برای شمارش پایگاه داده hosts استفاده می‌کند. این رفتار مشابه استفاده از hosts(5) است. هنگامی که یک یا چند آرگومان key ارائه شود، هر key را به نوبت با خانواده نشانی AF_UNSPEC به getaddrinfo(3) ارسال کرده و تک‌تک ساختارهای نشانی سوکت بازگردانده‌شده را برمی‌شمرد.
مشابه ahosts، اما از خانواده نشانی AF_INET استفاده می‌کند.
مشابه ahosts، اما از خانواده نشانی AF_INET6 استفاده می‌کند. فراخوانی getaddrinfo(3) در این حالت شامل پرچم AI_V4MAPPED نیز می‌شود.
هنگامی که هیچ key مشخص نشده باشد، از setaliasent(3)، getaliasent(3) و endaliasent(3) برای شمارش پایگاه داده aliases استفاده می‌کند. هنگامی که یک یا چند آرگومان key ارائه شود، هر key را به نوبت به getaliasbyname(3) ارسال کرده و نتیجه را نمایش می‌دهد.
هنگامی که یک یا چند آرگومان key ارائه شود، هر key را به نوبت به ether_aton(3) و ether_hostton(3) ارسال می‌کند تا نتیجه‌ای حاصل شود، سپس نتیجه را نمایش می‌دهد. شمارش روی ethers پشتیبانی نمی‌شود، بنابراین باید یک key ارائه شود.
هنگامی که هیچ key مشخص نشده باشد، از setgrent(3)، getgrent(3) و endgrent(3) برای شمارش پایگاه داده group استفاده می‌کند. هنگامی که یک یا چند آرگومان key ارائه شود، هر key عددی را به getgrgid(3) و هر key غیرعددی را به getgrnam(3) ارسال کرده و نتیجه را نمایش می‌دهد.
هنگامی که هیچ key مشخص نشده باشد، از setsgent(3)، getsgent(3) و endsgent(3) برای شمارش پایگاه داده gshadow استفاده می‌کند. هنگامی که یک یا چند آرگومان key ارائه شود، هر key را به نوبت به getsgnam(3) ارسال کرده و نتیجه را نمایش می‌دهد.
هنگامی که هیچ key مشخص نشده باشد، از sethostent(3)، gethostent(3) و endhostent(3) برای شمارش پایگاه داده hosts استفاده می‌کند. هنگامی که یک یا چند آرگومان key ارائه شود، بسته به اینکه آیا فراخوانی inet_pton(3) مشخص کند که key یک نشانی IPv4 یا IPv6 است یا نه، هر key را به gethostbyaddr(3) یا gethostbyname2(3) ارسال کرده و نتیجه را نمایش می‌دهد.
هنگامی که یک یا چند آرگومان key ارائه شود، هر key را به نوبت به getgrouplist(3) ارسال کرده و نتیجه را نمایش می‌دهد. شمارش روی initgroups پشتیبانی نمی‌شود، بنابراین باید یک key ارائه شود.
هنگامی که یک key ارائه شود، key را به setnetgrent(3) می‌فرستد و با استفاده از getnetgrent(3) سه‌تایی رشته‌ای حاصل یعنی (hostname, username, domainname) را نمایش می‌دهد. در حالت دیگر می‌توان سه key ارائه داد که به عنوان hostname، username و domainname تفسیر می‌شوند تا از طریق innetgr(3) با یک نام netgroup مطابقت داده شوند. شمارش روی netgroup پشتیبانی نمی‌شود، بنابراین باید یا یک یا سه key ارائه شود.
هنگامی که هیچ key مشخص نشده باشد، از setnetent(3)، getnetent(3) و endnetent(3) برای شمارش پایگاه داده networks استفاده می‌کند. هنگامی که یک یا چند آرگومان key ارائه شود، هر key عددی را به getnetbyaddr(3) و هر key غیرعددی را به getnetbyname(3) ارسال کرده و نتیجه را نمایش می‌دهد.
هنگامی که هیچ key مشخص نشده باشد، از setpwent(3)، getpwent(3) و endpwent(3) برای شمارش پایگاه داده passwd استفاده می‌کند. هنگامی که یک یا چند آرگومان key ارائه شود، هر key عددی را به getpwuid(3) و هر key غیرعددی را به getpwnam(3) ارسال کرده و نتیجه را نمایش می‌دهد.
هنگامی که هیچ key مشخص نشده باشد، از setprotoent(3)، getprotoent(3) و endprotoent(3) برای شمارش پایگاه داده protocols استفاده می‌کند. هنگامی که یک یا چند آرگومان key ارائه شود، هر key عددی را به getprotobynumber(3) و هر key غیرعددی را به getprotobyname(3) ارسال کرده و نتیجه را نمایش می‌دهد.
هنگامی که هیچ key مشخص نشده باشد، از setrpcent(3)، getrpcent(3) و endrpcent(3) برای شمارش پایگاه داده rpc استفاده می‌کند. هنگامی که یک یا چند آرگومان key ارائه شود، هر key عددی را به getrpcbynumber(3) و هر key غیرعددی را به getrpcbyname(3) ارسال کرده و نتیجه را نمایش می‌دهد.
هنگامی که هیچ key مشخص نشده باشد، از setservent(3)، getservent(3) و endservent(3) برای شمارش پایگاه داده services استفاده می‌کند. هنگامی که یک یا چند آرگومان key ارائه شود، هر key عددی را به getservbynumber(3) و هر key غیرعددی را به getservbyname(3) ارسال کرده و نتیجه را نمایش می‌دهد.
هنگامی که هیچ key مشخص نشده باشد، از setspent(3)، getspent(3) و endspent(3) برای شمارش پایگاه داده shadow استفاده می‌کند. هنگامی که یک یا چند آرگومان key ارائه شود، هر key را به نوبت به getspnam(3) ارسال کرده و نتیجه را نمایش می‌دهد.

جایگزین کردن سرویس مشخص‌شده برای تمام پایگاه‌های داده. (از glibc 2.2.5 به بعد.)
جایگزین کردن سرویس مشخص‌شده تنها برای پایگاه‌های داده معین. این گزینه می‌تواند چندین بار استفاده شود، اما تنها آخرین سرویس برای هر پایگاه داده اعمال خواهد شد. (از glibc 2.4 به بعد.)
غیرفعال کردن کدگذاری IDN در جستجوها برای ahosts/getaddrinfo(3) (از glibc-2.13 به بعد.)
-?
چاپ خلاصه راهنمای استفاده و خروج.
چاپ خلاصه کوتاهی از نحوه استفاده و خروج.
چاپ شماره نسخه، مجوز و سلب مسئولیت ضمانت برای getent.

یکی از مقادیر خروج زیر می‌تواند توسط getent بازگردانده شود:

0
دستور با موفقیت به پایان رسید.
1
آرگومان‌های ورودی ناقص است، یا database ناشناخته است.
2
یک یا چند key ارائه‌شده در database یافت نشد.
3
شمارش در این database پشتیبانی نمی‌شود.

nsswitch.conf(5)

2026-02-08 Linux man-pages 6.19