SFTP-SERVER(8) راهنمای مدیر سیستم SFTP-SERVER(8)

sftp-server - زیرسیستم کارساز SFTP برای OpenSSH

sftp-server [-ehR] [-d start_directory] [-f log_facility] [-l log_level] [-P denied_requests] [-p allowed_requests] [-u umask]
sftp-server -Q protocol_feature

دستور sftp-server برنامه‌ای است که سمت کارساز (سرور) پروتکل SFTP را در stdout پیاده‌سازی می‌کند و درخواست‌های کارخواه (کلاینت) را از stdin انتظار دارد. sftp-server برای فراخوانی مستقیم در نظر گرفته نشده است، بلکه از طریق sshd(8) با استفاده از گزینه Subsystem فراخوانی می‌شود.

پرچم‌ها و گزینه‌های خط فرمان برای sftp-server باید در اعلان Subsystem مشخص شوند. برای اطلاعات بیشتر به sshd_config(5) مراجعه کنید.

گزینه‌های معتبر عبارتند از:

یک دایرکتوری شروع جایگزین را برای کاربران تعیین می‌کند. مسیر ممکن است شامل نشانه‌های (token) زیر باشد که در زمان اجرا بسط داده می‌شوند: %% با نویسه واقعی '%' جایگزین می‌شود، %d با دایرکتوری خانگی کاربری که در حال احراز هویت است جایگزین می‌شود، و %u با نام کاربری آن کاربر جایگزین می‌شود. پیش‌فرض استفاده از دایرکتوری خانگی کاربر است. این گزینه در ترکیب با گزینه ChrootDirectory در sshd_config(5) مفید است.
باعث می‌شود sftp-server اطلاعات ثبت گزارش (logging) را جهت اشکال‌زدایی به‌جای syslog در stderr چاپ کند.
کد facility مورد استفاده هنگام ثبت گزارش پیام‌ها از sftp-server را مشخص می‌کند. مقادیر ممکن عبارتند از: DAEMON، USER، AUTH، LOCAL0، LOCAL1، LOCAL2، LOCAL3، LOCAL4، LOCAL5، LOCAL6، LOCAL7. پیش‌فرض AUTH است.
اطلاعات نحوه استفاده از sftp-server را نمایش می‌دهد.
مشخص می‌کند کدام پیام‌ها توسط sftp-server ثبت شوند. مقادیر ممکن عبارتند از: QUIET، FATAL، ERROR، INFO، VERBOSE، DEBUG، DEBUG1، DEBUG2 و DEBUG3. سطوح INFO و VERBOSE تراکنش‌هایی را ثبت می‌کنند که sftp-server از طرف کارخواه انجام می‌دهد. DEBUG و DEBUG1 معادل یکدیگرند. DEBUG2 و DEBUG3 هر کدام سطوح بالاتری از خروجی اشکال‌زدایی را مشخص می‌کنند. مقدار پیش‌فرض ERROR است.
فهرستی با کاما جداشده از درخواست‌های پروتکل SFTP را که توسط کارساز مسدود شده‌اند مشخص می‌کند. sftp-server به هر درخواست ردشده با یک پیام شکست پاسخ خواهد داد. از گزینه -Q می‌توان برای تعیین انواع درخواست‌های پشتیبانی‌شده استفاده کرد. اگر هر دو فهرست ردشده و مجاز مشخص شده باشند، فهرست ردشده پیش از فهرست مجاز اعمال می‌شود. این گزینه به همراه گزینه -p می‌تواند برای غیرفعال کردن عملیاتی که برای کارساز نامربوط یا نامطلوب هستند استفاده شود. برای نمونه، یک sftp-server که اتصال‌های کارخواه‌های غیرقابل‌اعتماد را می‌پذیرد ممکن است بخواهد عملیات “copy-data” یا “users-groups-by-id” را غیرفعال کند.
فهرستی با کاما جداشده از درخواست‌های پروتکل SFTP را که توسط کارساز مجاز هستند مشخص می‌کند. تمام انواع درخواست‌هایی که در فهرست مجاز قرار ندارند ثبت گزارش شده و با یک پیام شکست به آن‌ها پاسخ داده می‌شود.
هنگام استفاده از این ویژگی باید دقت شود تا اطمینان حاصل شود که درخواست‌هایی که به‌صورت ضمنی توسط کارخواه‌های SFTP ایجاد می‌شوند مجاز باشند.
ویژگی‌های پروتکل پشتیبانی‌شده توسط sftp-server را پرس‌وجو می‌کند. در حال حاضر تنها ویژگی قابل پرس‌وجو “requests” است، که می‌توان از آن برای رد یا مجاز کردن درخواست‌های خاص استفاده کرد (به‌ترتیب با گزینه‌های -P و -p).
این نمونه از sftp-server را در حالت فقط‌خواندنی قرار می‌دهد. تلاش‌ها برای باز کردن فایل‌ها جهت نوشتن، و همچنین سایر عملیاتی که وضعیت سیستم فایل را تغییر می‌دهند، رد خواهند شد.
یک umask(2) صریح را برای اعمال روی فایل‌ها و دایرکتوری‌های تازه‌ساخته‌شده، به‌جای ماسک پیش‌فرض کاربر تنظیم می‌کند.

در برخی سیستم‌ها، sftp-server باید بتواند برای عملکرد درست ثبت گزارش به /dev/log دسترسی داشته باشد، و بنابراین استفاده از sftp-server در یک پیکربندی chroot مستلزم آن است که syslogd(8) یک سوکت ثبت گزارش درون دایرکتوری chroot ایجاد کند.

sftp(1)، ssh(1)، sshd_config(5)، sshd(8)

T. Ylonen, S. Lehtinen, “SSH File Transfer Protocol”, draft-ietf-secsh-filexfer-02.txt, October 2001.

دستور sftp-server نخستین بار در OpenBSD 2.8 ظاهر شد.

Markus Friedl <markus@openbsd.org>

21 May 2026 OpenSSH