/etc/inetd.conf
این سرورها و پورتهای متداول را فهرست میکند. دستور inetd
به تمام آنها گوش کرده؛ زمانی که برقرای ارتباط با پورتی را شناسایی کند، برنامه سرور مربوط به آن را اجرا میکند.
/etc/inetd.conf
بیانگر یک سرور با هفت فیلد است (که با فاصله از هم جدا شدهاند)؛
/etc/services
نگاشت شده است).
stream
برای یک ارتباط TCP و dgram
برای یک ارتباط UDP.
tcp
یا udp
.
wait
یا nowait
که به inetd
میگوید آیا برای اتمام فرآیند اجرا شده صبر کند یا خیر. برای ارتباطات TCP، معمولا میتوان از nowait
استفاده کرد. برای برنامههایی که به UDP پاسخ میدهند، تنها زمانی از nowait
باید استفاده کنید که سرور قادر به مدیریت چندین ارتباط به صورت همزمان باشد. میتوانید این فیلد را با استفاده از کاما پسوند کنید، به همراه حداکثر تعداد مجاز ارتباطات در دقیقه (حد پیشفرض برابر با ۲۵۶ است).
argv[0]
در زبان C).
مثال 9.1. چکیدهای از /etc/inetd.conf
talk dgram udp wait nobody.tty /usr/sbin/in.talkd in.talkd finger stream tcp nowait nobody /usr/sbin/tcpd in.fingerd ident stream tcp nowait nobody /usr/sbin/identd identd -i
tcpd
به طور متداول در فایل /etc/inetd.conf
بکار رفته است. این برنامه امکان محدودسازی ارتباطات دریافتی را با اعمال کردن قواعد کنترل دسترسی فراهم میسازد که در صفحه راهنمای hosts_access(5) مستندسازی شده و گزینههایی که در فایلهای /etc/hosts.allow
و /etc/hosts.deny
قرار گرفته است. زمانی که تشخیص دهد ارتباط دریافتی احرازهویت شده است، tcpd
سرور حقیقی آن را اجرا میکند (مانند in.fingerd
در نمونه بالا). شایان ذکر است که tcpd
برای شناسایی برنامه مورد نظر جهت اجرا به نامی وابسته است که طی آن فراخوانی میشود (آرگومان اول، argv[0]
). پس نباید فهرست آرگومانها را با tcpd
آغاز کنید بلکه با برنامهای که قصد اجرای آن را دارد.