.\" Hey, EMACS: -*- nroff -*- .TH ATFTPD 8 "27 دسامبر 2000" .\" Some roff macros, for reference: .\" .nh disable hyphenation .\" .hy enable hyphenation .\" .ad l left justify .\" .ad b justify to both left and right margins .\" .nf disable filling .\" .fi enable filling .\" .br insert line break .\" .sp insert n+1 empty lines .\" for manpage-specific macros, see man(7) .SH "نام (NAME)" atftpd \- کارساز پروتکل ساده انتقال پرونده (TFTP) .SH "خلاصه دستور (SYNOPSIS)" .B atftpd .RI [ گزینه‌ها ] " دایرکتوری" .SH "توضیحات (DESCRIPTION)" .B atftpd یک کارساز TFTP (بر اساس RFC1350) است. به‌طور پیش‌فرض در بیشتر سیستم‌ها توسط .B inetd راه‌اندازی می‌شود، اما می‌تواند به‌صورت یک دیمون مستقل نیز اجرا گردد. این کارساز چندنخی (multi-threaded) بوده و از تمامی گزینه‌های شرح‌داده‌شده در RFC2347 (گسترش گزینه‌ها)، RFC2348 (گزینه blksize)، RFC2349 (گزینه‌های tsize و timeout) و RFC2090 (گزینه چندپخشی یا multicast) پشتیبانی می‌کند. همچنین از mtftp آن‌طور که در مشخصات PXE تعریف شده است، پشتیبانی می‌نماید. .SH "گزینه‌ها (OPTIONS)" این برنامه هم از نحو معمول خط فرمان GNU با گزینه‌های طولانی که با دو خط تیره ('\-') شروع می‌شوند، و هم از گزینه‌های کوتاه پشتیبانی می‌کند. شرح گزینه‌ها در ادامه آمده است: .TP .B \-t, \-\-tftpd\-timeout تعداد ثانیه‌های عدم فعالیت پیش از خروج کارساز. این مقدار تنها زمانی معنا دارد که کارساز توسط .B inetd راه‌اندازی شده باشد. در حالت دیمون، کارساز هرگز خارج نمی‌شود. مقدار پیش‌فرض ۳۰۰ ثانیه است. .TP .B \-r, \-\-retry\-timeout مدت زمانی (به ثانیه) که کارساز باید پیش از ارسال مجدد یک بسته منتظر پاسخ بماند. مقدار پیش‌فرض ۵ ثانیه است. این مقدار می‌تواند توسط کلاینت TFTP با استفاده از گزینه .B timeout بازنویسی شود. .TP .B \-m, \-\-maxthread حداکثر تعداد نخ‌های هم‌روند مجاز. مقدار پیش‌فرض ۱۰۰ است. .TP .B \-v, \-\-verbose[=value] افزایش یا تنظیم سطح گزارش‌گیری. در صورت عدم تعیین آرگومان، مقدار فعلی یک واحد افزایش می‌یابد. مقدار پیش‌فرض .B LOG_NOTICE است؛ برای سطوح گزارش‌گیری به .BR syslog (3) مراجعه کنید. مقادیر معتبر در بازه ۰ .RB ( LOG_EMERG ) تا ۷ .RB ( LOG_DEBUG ) قرار دارند. .TP .B \-\-trace هنگامی که سطح پرگویی (verbose) روی ۷ تنظیم شده باشد، اطلاعات اشکال‌زدایی را برای هر بسته ارسالی یا دریافتی از شبکه در خروجی چاپ می‌کند. .TP .B \-\-no\-timeout غیرفعال کردن .B timeout از RFC2349. این گزینه از تایید گزینه .B timeout درخواست‌شده توسط کلاینت از سوی کارساز جلوگیری می‌کند. .TP .B \-\-no\-tsize غیرفعال کردن .B tsize از RFC2349. این گزینه از تایید گزینه .B tsize درخواست‌شده توسط کلاینت از سوی کارساز جلوگیری می‌کند. .TP .B \-\-no\-blksize غیرفعال کردن .B blksize از RFC2348. این گزینه مانع از تایید درخواست .B blksize کلاینت توسط کارساز می‌شود. .TP .B \-\-no\-windowsize غیرفعال کردن .B windowsize از RFC7440. این گزینه از تایید درخواست .B windowsize کلاینت توسط کارساز جلوگیری می‌کند. .TP .B \-\-no\-multicast غیرفعال کردن .B multicast از RFC2090. این گزینه مانع از تایید درخواست .B multicast کلاینت توسط کارساز می‌شود. .TP .B \-\-logfile ثبت گزارش‌ها در یک فایل مشخص به‌جای استفاده انحصاری از syslog. کاربر .B nobody (یا هر کاربری که برای اجرای کارساز استفاده می‌شود) باید مجوزهای دسترسی به فایل مربوطه را داشته باشد. با فرض اینکه این فایل .B /var/log/atftpd.log باشد، کافی است دستورات .B touch /var/log/atftpd.log و سپس .B chown nobody.nogroup /var/log/atftpd.log را اجرا کنید. هنگامی که کارساز در حالت دیمون اجرا می‌شود، می‌توان از .B /dev/stdout یا .B /dev/stderr نیز استفاده نمود. تعیین یک خط تیره منفرد به‌عنوان نام فایل، گزارش‌ها را به خروجی استاندارد (stdout، توصیف‌کننده فایل ۱) ارسال می‌کند. .TP .B \-\-pidfile نوشتن شناسه فرایند (PID) کارساز در فایل مشخص‌شده. این گزینه می‌تواند در راه‌اندازی و توقف خودکار یک یا چند نمونه از کارساز مفید باشد. .TP .B \-\-daemon اجرا به‌صورت دیمون. اگر .B atftpd توسط .B inetd راه‌اندازی شده است، از این گزینه استفاده نکنید. .TP .B \-\-no-fork هنگامی که گزینه .B \-\-daemon تعیین شده باشد، این گزینه مانع از انشعاب (fork) کارساز به پس‌زمینه می‌شود. این ویژگی برای اهداف اشکال‌زدایی یا کاربردهای ویژه مفید است. .TP .B \-\-user به‌طور پیش‌فرض، کارساز هویت خود را به کاربر .B nobody و گروه .B nogroup تغییر می‌دهد. با این گزینه می‌توانید کاربر و گروه دیگری را تعیین کنید. .TP .B \-\-group روشی جایگزین برای تعیین گروه. اگر گروه هم با گزینه .B \-\-user و هم با .B \-\-group مشخص شود، مقدار آخرین گزینه اعمال خواهد شد. .TP .B \-\-port تعیین پورتی که .B atftpd روی آن گوش فرا می‌دهد. هنگامی که گزینه .B \-\-daemon مشخص شده باشد کاربرد دارد. مقدار پیش‌فرض، پورت استاندارد tftp است که توسط .BR getservbyname (3) تعیین می‌شود. .TP .B \-\-bind\-address تعیین آدرس IP که .B atftpd به آن متصل (bind) می‌شود. هنگامی که گزینه .B \-\-daemon مشخص شده باشد مفید است. حالت پیش‌فرض، اتصال به تمام رابط‌های شبکه است. تنها یک آدرس را می‌توان تعیین کرد؛ کارساز فقط می‌تواند به یک رابط یا به تمامی رابط‌ها گوش فرا دهد. .TP .B \-\-mcast\-ttl تعیین مقدار TTL برای دیتاگرام‌های چندپخشی (multicast). به‌طور پیش‌فرض مقدار ۱ استفاده می‌شود. توجه داشته باشید که TTL در چندپخشی معنای ویژه‌ای دارد، چرا که برای تعیین محدوده (scope) بسته‌ها استفاده می‌شود. مقدار ۱ بدین معناست که بسته‌ها از شبکه محلی خارج نمی‌شوند؛ به .BR ip (4) مراجعه کنید. محدوده ممکن است بر اساس آدرس نیز طبق آنچه در RFC2365 شرح داده شده است تعیین شود. .TP .B \-\-mcast\-addr تعیین محدوده آدرس‌های IP مورد استفاده برای انتقال چندپخشی. رشته قالب می‌تواند شامل بازه و فهرستی از مقادیر باشد: "239.255.0.0\-31,128\-132,200". مقدار پیش‌فرض "239.255.0.0\-255" است. این محدوده آدرس در RFC2365 برای محدوده محلی پیشنهاد شده است. .TP .B \-\-mcast\-port تعیین پورت UDP مورد استفاده برای انتقال چندپخشی. رشته قالب می‌تواند شامل بازه و فهرستی از شماره پورت‌ها باشد: "1758\-2000,8000\-9000". مقدار پیش‌فرض "1758" است. .TP .B \-\-pcre تعیین یک فایل الگو/جایگزینی برای استفاده. این گزینه امکان می‌دهد نام فایل درخواستی بر اساس عبارت‌های باقاعده سازگار با پرل (PCRE) جایگزین شود. فایل .B README.PCRE را ببینید. .TP .B \-\-pcre\-test آزمایش یک فایل الگو/جایگزینی. هنگام استفاده از این گزینه، کارساز طبق معمول راه‌اندازی نمی‌شود، بلکه تنها نام فایل را از ورودی استاندارد (stdin) خوانده و نتیجه جایگزینی را چاپ می‌کند. .TP .B \-\-mtftp به ازای هر مدخل معتبر در فایل ارائه‌شده، یک نخ کارساز mtftp راه‌اندازی می‌کند. برای جزئیات در مورد mtftp به مشخصات PXE مراجعه کنید. یک فایل نمونه در توزیع منبع برنامه قرار داده شده است. .TP .B \-\-mtftp\-port پورتی که کارساز mtftp باید برای درخواست‌های ورودی به آن گوش فرا دهد. .TP .B \-\-no\-source\-port\-checking در برخی موارد خاص در شبکه‌های دارای متعادل‌کننده بار (load balancer) یا سایر تجهیزاتی که NAT (ترجمه نشانی شبکه) انجام می‌دهند، به دلیل تغییر یافتن شماره پورت، ممکن است نیاز باشد بررسی پورت مبدا غیرفعال شود. اگر مایل به استفاده از این ویژگی هستید، باید از دلیل نیاز به آن و پیامدهایش کاملاً آگاه باشید. توجه داشته باشید که این گزینه ناقض RFC1350 است. این گزینه تنها بر انتقال‌های غیرچندپخشی تأثیر می‌گذارد. .TP .B \-\-prevent\-sas رسیدگی به وضعیت «سندروم شاگرد جادوگر» (Sorcerer's Apprentice Syndrome) طبق الزام RFC 1350. این RFC الزام می‌کند که پاسخ‌های تکراری به یک بسته منفرد رد شوند؛ بنابراین یک بلوک داده تنها در صورت بروز وقفه زمانی (timeout) مجدداً ارسال خواهد شد. برای حفظ سازگاری با نسخه‌های پیشین، رفتار پیش‌فرض نادیده گرفتن این RFC است؛ در نتیجه بلوک‌ها با دریافت هر درخواست مجدداً ارسال می‌شوند. .TP .B \-\-mcast\-switch\-client این گزینه به کارساز اجازه می‌دهد به محض بروز وقفه زمانی (timeout) برای کلاینت فعلی، به سراغ کلاینت چندپخشی بعدی برود. هنگامی که کلاینت اصلی فعلی (master client) موفق به ارسال تاییدیه (ACK) به کارساز نشود، کارساز یک تاییدیه گزینه (OACK) با فیلد MC (کلاینت اصلی) تنظیم‌شده روی false به کلاینت اصلی فرستاده و یک OACK با MC تنظیم‌شده روی true به کلاینت چندپخشی بعدی ارسال می‌کند. بدون این گزینه، کارساز تلاش برای ارتباط با کلاینت اصلی فعلی را تا ۵ بار تکرار کرده و سپس آن را پایان‌یافته علامت‌گذاری می‌کند و به سراغ کلاینت بعدی می‌رود. .TP .B \-V, \-\-version نمایش نسخه برنامه. .TP .B \-h, \-\-help نمایش خلاصه‌ای از گزینه‌ها. .TP .B path این دایرکتوری ریشه‌ای است که توسط کارساز TFTP استفاده می‌شود. تمام فایل‌های درخواستی از سوی یک کلاینت TFTP باید در این دایرکتوری قرار داشته باشند. در صورت عدم تعیین، این دایرکتوری به‌طور پیش‌فرض .B /tftpboot خواهد بود. از آنجا که .B atftpd با شناسه کاربری .B nobody اجرا می‌شود، مجوزهای دایرکتوری باید به‌گونه‌ای مناسب تنظیم شوند که امکان خواندن و نوشتن فایل‌ها فراهم باشد. .SH "آمارها (STATS)" از نسخه ۰.۲ به بعد، کارساز برخی داده‌های آماری را جمع‌آوری می‌کند. در حال حاضر کارساز بار سیستم، زمان بین اتصالات و برخی آمارهای نخ‌ها مانند تعداد فایل‌های ارسالی، دریافتی، تعداد انصراف‌ها و... را محاسبه می‌کند. برای مشاهده این آمارها در گزارش‌ها، باید گزینه .B \-\-verbose=6 .RB ( LOG_NOTICE ) یا بالاتر را تنظیم کنید. .SH "امنیت (SECURITY)" پروتکل TFTP به‌خودی‌خود هیچ تمهیدی برای امنیت ندارد. هیچ احراز هویتی برای کاربران وجود ندارد و کلاینت‌های TFTP به تمام فایل‌های موجود در دایرکتوری ریشه مشخص‌شده که کارساز روی آن‌ها دسترسی دارد، دسترسی پیدا می‌کنند. .PP با استفاده از پشتیبانی .B libwrap در .B atftp می‌توان به سطحی از امنیت دست یافت. افزودن ورودی‌های مناسب به .B /etc/hosts.allow و .B /etc/hosts.deny دسترسی را به میزبان‌های مورد اعتماد محدود خواهد کرد. نام دیمون برای استفاده در این فایل‌ها .B in.tftpd است. .SH "عبارت‌های باقاعده سازگار با پرل (PCRE)" کارساز .B atftpd روشی را برای جایگزینی پویای نام فایل درخواستی با یک نام جدید بر اساس عبارت‌های باقاعده سازگار با پرل فراهم می‌کند. جفت‌های الگو/جایگزینی از فایل‌های مشخص‌شده خوانده می‌شوند. پس از دریافت یک درخواست خواندن، کارساز ابتدا تلاش می‌کند نام فایل درخواستی را باز کند. اگر این کار با شکست مواجه شد، بر اساس محتوای فایل الگو به دنبال یک جایگزین می‌گردد. در صورتی که این مورد نیز شکست بخورد، خطایی به کلاینت ارسال می‌شود. این ویژگی تنها برای درخواست‌های خواندن در دسترس است؛ انجام این جایگزینی برای کلاینت‌هایی که فایلی را روی کارساز می‌نویسند بی‌معناست. .SH "پروتکل ام‌تی‌اف‌تی‌پی (MTFTP)" نام mtftp به TFTP چندپخشی (multicast tftp) آن‌گونه که توسط مشخصات PXE تعریف شده است اشاره دارد. برای منبع مشخصات به .B pxespec.txt مراجعه کنید. توجه داشته باشید که این مورد با RFC2090 یکسان نیست. بوت‌های سازگار با PXE پروتکل mtftp را پیاده‌سازی می‌کنند، نه RFC2090 را. .SH "همچنین ببینید (SEE ALSO)" .BR inetd (8), .BR hosts_access (5), .BR libpcre (7), RFC1350, RFC2090, RFC2347, RFC2348, RFC2349 و .BR pxespec.pdf . .SH "نویسنده (AUTHOR)" این صفحه راهنما توسط Remi Lefebvre .RI < remi@debian.org > و Jean-Pierre Lefebvre .RI < helix@step.polymtl.ca > نوشته شده است.