.\" Man page generated from reStructuredText .\" by the Docutils 0.22.4 manpage writer. . . .nr rst2man-indent-level 0 . .de1 rstReportMargin \\$1 \\n[an-margin] level \\n[rst2man-indent-level] level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] - \\n[rst2man-indent0] \\n[rst2man-indent1] \\n[rst2man-indent2] .. .de1 INDENT .\" .rstReportMargin pre: . RS \\$1 . nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] . nr rst2man-indent-level +1 .\" .rstReportMargin post: .. .de UNINDENT . RE .\" indent \\n[an-margin] .\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] .nr rst2man-indent-level -1 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. .TH "SSHFS" "1" "" "" "User Commands" .SH "نام (NAME)" SSHFS \- کلاینت سامانه فایل مبتنی بر SSH .SH "خلاصه دستور (SYNOPSIS)" .sp برای سوار کردن یک سامانه فایل: .INDENT 0.0 .INDENT 3.5 .sp .EX sshfs [user@]host:[dir] mountpoint [options] .EE .UNINDENT .UNINDENT .sp اگر \fIhost\fP یک نشانی عددی IPv6 باشد، باید در قلاب (کروشه) قرار گیرد. .sp برای پیاده کردن آن: .INDENT 0.0 .INDENT 3.5 .sp .EX fusermount3 \-u mountpoint # Linux umount mountpoint # OS X, FreeBSD .EE .UNINDENT .UNINDENT .SH "توضیحات (DESCRIPTION)" .sp ابزار SSHFS به شما امکان می‌دهد یک سامانه فایل دوردست را با استفاده از SSH (به‌طور دقیق‌تر، زیرسامانه SFTP) سوار (mount) کنید. بیشتر سرورهای SSH به‌طور پیش‌فرض از این دسترسی SFTP پشتیبانی کرده و آن را فعال دارند، بنابراین استفاده از SSHFS بسیار ساده است \- نیازی به انجام کاری در سمت سرور نیست. .sp به‌طور پیش‌فرض، مجوزهای فایل توسط SSHFS نادیده گرفته می‌شوند. هر کاربری که بتواند به سامانه فایل دسترسی پیدا کند، قادر خواهد بود بر اساس اعتبارنامه‌هایی که برای اتصال به سرور استفاده شده‌اند، هر عملیاتی را که سرور دوردست مجاز می‌داند انجام دهد. در صورتی که این رفتار مطلوب نباشد، بررسی محلی مجوزها می‌تواند با گزینهٔ \fB\-o default_permissions\fP فعال شود\&. .sp به‌طور پیش‌فرض، تنها کاربری که عملیات سوار کردن را انجام داده می‌تواند به سامانه فایل دسترسی داشته باشد. دسترسی برای سایر کاربران با ارسال \fB\-o allow_other\fP فعال می‌شود\&. در این حالت به احتمال زیاد مایل خواهید بود از \fB\-o default_permissions\fP نیز استفاده کنید\&. .sp توصیه می‌شود SSHFS را به عنوان یک کاربر عادی اجرا کنید (نه به عنوان root). برای این کار، نقطه اتصال (mountpoint) باید متعلق به کاربر باشد. اگر نام کاربری درج نشود، SSHFS از نام کاربری محلی استفاده خواهد کرد. در صورت حذف دایرکتوری، SSHFS دایرکتوری خانگی (دوردست) را سوار می‌کند. اگر نیاز به وارد کردن گذرواژه باشد، sshfs آن را درخواست خواهد کرد (در واقع فقط ssh را اجرا می‌کند که در صورت نیاز گذرواژه را می‌پرسد). .SH "گزینه‌ها (OPTIONS)" .INDENT 0.0 .TP .B \-o opt,[opt...] گزینه‌های سوار کردن، برای جزئیات به بخش زیر مراجعه کنید. طیف گسترده‌ای از گزینه‌های SSH نیز می‌توانند در اینجا داده شوند، به صفحات راهنمای \fIsftp(1)\fP و \fIssh_config(5)\fP مراجعه کنید\&. .UNINDENT .INDENT 0.0 .TP .B \-h\fP,\fB \-\درصورت help چاپ راهنما و خروج. .TP .B \-V\fP,\fB \-\-version چاپ اطلاعات نسخه و خروج. .TP .B \-d\fP,\fB \-\-debug چاپ اطلاعات اشکال‌زدایی (دیباگ). .TP .BI \-p \ PORT معادل با \(aq\-o port=PORT\(aq .TP .B \-f به دیمن تبدیل نشود، در پیش‌زمینه باقی بماند. .TP .B \-s عملیات تک‌رشته‌ای (Single-threaded). .TP .B \-C معادل با \(aq\-o compression=yes\(aq .TP .BI \-F \ ssh_configfile فایل پیکربندی جایگزین برای ssh را مشخص می‌کند. .TP .B \-1 معادل با \(aq\-o ssh_protocol=1\(aq .TP .BI \-o \ reconnect اتصال مجدد خودکار به سرور در صورت قطع ارتباط. تلاش برای دسترسی به فایل‌هایی که قبل از اتصال مجدد باز شده بودند، با خطا مواجه خواهد شد و باید دوباره باز شوند. .TP .BI \-o \ delay_connect بلافاصله به سرور متصل نشود، تا زمان اولین دسترسی به نقطه اتصال صبر کند. .TP .BI \-o \ sshfs_sync نوشتن همگام (synchronous). این کار سرعت را کاهش می‌دهد، اما ممکن است در برخی شرایط مفید باشد. .TP .BI \-o \ no_readahead تنها داده‌هایی را بخواند که دقیقاً درخواست شده است، به جای اینکه برای پیش‌بینی درخواست خواندن بعدی، داده‌های بیشتری را از پیش بخواند. .TP .BI \-o \ sync_readdir خواندن همگام دایرکتوری (readdir). این کار سرعت را کاهش می‌دهد، اما ممکن است در برخی شرایط مفید باشد. .UNINDENT .INDENT 0.0 .TP .B \-o workaround=LIST راهکار موقت (workaround) مشخص‌شده را فعال می‌کند. برای برخی اطلاعات بیشتر به بخش \fICaveats\fP در زیر مراجعه کنید. مقادیر ممکن عبارتند از: .INDENT 7.0 .TP .B rename شبیه‌سازی بازنویسی یک فایل موجود از طریق حذف و تغییر نام. .TP .B renamexdev وادار کردن rename به شکست با خطای EXDEV به جای EPERM پیش‌فرض، تا امکان جابجایی فایل‌ها بین سامانه‌های فایل دوردست فراهم شود. .TP .B truncate دور زدن مشکل سرورهایی که از truncate پشتیبانی نمی‌کنند، با کپی کردن کل فایل، برش دادن (truncate) محلی آن، و فرستادن مجدد آن. .TP .B fstat دور زدن مشکل سرورهای معیوبی که از \fIfstat()\fP پشتیبانی نمی‌کنند با استفاده از \fIstat\fP به جای آن. .TP .B buflimit دور زدن باگ پر شدن بافر (\(dqbuffer fillup\(dq) در OpenSSH. .TP .B createmode دور زدن مشکل سرورهای معیوبی که هنگام ارسال حالت (mode) غیر صفر برای create خطا تولید می‌کنند، از طریق ارسال همیشگی حالت 0. .UNINDENT .TP .B \-o idmap=TYPE نحوه نگاشت UID/GIDهای دوردست به مقادیر محلی. مقادیر ممکن عبارتند از: .INDENT 7.0 .TP .B none عدم ترجمه فضای شناسه (پیش‌فرض). .TP .B user نگاشت UID/GID کاربر دوردست به UID/GID کاربری که سوار کردن را انجام می‌دهد. .TP .B file ترجمه UIDها/GIDها بر اساس محتویات \fI\-\-uidfile\fP و \fI\-\-gidfile\fP\&. .UNINDENT.TP .B \-o uidfile=FILE فایل حاوی نگاشت‌های \fBusername:uid\fP برای \fI\-o idmap=file\fP .TP .B \-o gidfile=FILE فایل حاوی نگاشت‌های \fBgroupname:gid\fP برای \fI\-o idmap=file\fP .TP .B \-o nomap=TYPE همراه با idmap=file، نحوه برخورد با نگاشت‌های ناموجود: .INDENT 7.0 .TP .B ignore هیچ نگاشت مجددی انجام ندهد .TP .B error یک خطا بازگرداند (پیش‌فرض) .UNINDENT .TP .B \-o ssh_command=CMD اجرای CMD به جای \(aqssh\(aq .TP .B \-o ssh_protocol=N پروتکل ssh برای استفاده (پیش‌فرض: 2) .TP .B \-o sftp_server=SERV مسیر سرور یا زیرسیستم sftp (پیش‌فرض: sftp) .TP .B \-o directport=PORT اتصال مستقیم به PORT بدون گذر از ssh .TP .B \-o vsock=CID:PORT اتصال مستقیم با استفاده از vsock به \% بدون گذر از ssh .UNINDENT .INDENT 0.0 .TP .BI \-o \ passive برقراری ارتباط از طریق stdin و stdout بدون استفاده از شبکه. برای سوار کردن سیستم‌فایل محلی روی سمت دوردست مفید است. یک مثال با استفاده از دستور dpipe عبارت است از: \fBdpipe /usr/lib/openssh/sftp\-server = ssh RemoteHostname sshfs :/directory/to/be/shared ~/mnt/src \-o passive\fP .TP .BI \-o \ disable_hardlink با تنظیم این گزینه، تلاش‌ها برای فراخوانی \fIlink(2)\fP با کد خطای ENOSYS شکست می‌خورند. .TP .BI \-o \ transform_symlinks تبدیل پیوندهای نمادین مطلق در سمت دوردست به پیوندهای نمادین نسبی. این بدان معناست که اگر مثلاً در سمت سرور \fB/foo/bar/com\fP یک پیوند نمادین به \fB/foo/blub\fP باشد، SSHFS مقصد پیوند را در سمت کلاینت به \fB\&../blub\fP تبدیل می‌کند. .TP .BI \-o \ contain_symlinks رد کردن مقصدهای پیوند نمادینی که مطلق هستند یا شامل مؤلفه‌های \fB\&..\fP می‌باشند. هنگامی که با یک پیوند نمادین مسدودشده مواجه شود، readlink مقدار EPERM را بازمی‌گرداند. این گزینه به‌طور پیش‌فرض فعال است تا از وادار کردن سیستم محلی به خواندن یا نوشتن فایل‌ها توسط سرور مخرب از طریق مقصدهای دست‌کاری‌شده پیوند نمادین جلوگیری کند. توجه داشته باشید که این گزینه سخت‌گیرانه‌تر از \fBtransform_symlinks\fP است: این دو گزینه معمولاً نباید با هم ترکیب شوند، زیرا نتایج تبدیل‌شده اغلب شامل \fB\&..\fP هستند و توسط مهارسازی (containment) رد خواهند شد. .TP .BI \-o \ no_contain_symlinks غیرفعال کردن مهارسازی پیوند نمادین و مجاز شمردن تمام مقصدهای پیوند نمادین به صورت دست‌نخورده، از جمله مسیرهای مطلق و مسیرهای حاوی \fB\&..\fP\&. فقط در سرورهای کاملاً مورد اعتماد استفاده شود. .TP .BI \-o \ follow_symlinks دنبال کردن پیوندهای نمادین در سرور، یعنی نمایش آن‌ها به عنوان فایل‌های عادی در کلاینت. اگر یک پیوند نمادین معلق باشد (یعنی مقصد وجود نداشته باشد) رفتار به سرور دوردست بستگی دارد \- ورودی ممکن است به عنوان یک پیوند نمادین در کلاینت ظاهر شود، یا ممکن است به عنوان یک فایل عادی که قابل دسترسی نیست نمایان شود. .TP .BI \-o \ no_check_root عدم بررسی وجود \(aqdir\(aq در سرور .TP .BI \-o \ password_stdin خواندن گذرواژه از stdin (فقط برای pam_mount!) .UNINDENT .INDENT 0.0 .TP .B \-o dir_cache=BOOL فعال‌سازی (\fIyes\fP) یا غیرفعال‌سازی (\fIno\fP) حافظه موقت (کش) دایرکتوری SSHFS. حافظه موقت دایرکتوری نام ورودی‌های دایرکتوری را در خود نگه می‌دارد. فعال‌سازی آن اجازه می‌دهد فراخوانی‌های سیستمی \fIreaddir(3)\fP بدون دسترسی به شبکه پردازش شوند. .TP .B \-o dcache_max_size=N حداکثر اندازه حافظه موقت دایرکتوری را تعیین می‌کند. .TP .B \-o dcache_timeout=N مهلت زمانی حافظه موقت دایرکتوری را به ثانیه تعیین می‌کند. .TP .B \-o dcache_{stat,link,dir}_timeout=N مهلت زمانی جداگانه‌ای برای {ویژگی‌ها، پیوندهای نمادین، نام‌ها} در حافظه موقت دایرکتوری تعیین می‌کند. .TP .B \-o dcache_clean_interval=N بازه زمانی برای پاک‌سازی خودکار حافظه موقت دایرکتوری را تعیین می‌کند. .TP .B \-o dcache_min_clean_interval=N بازه زمانی برای پاک‌سازی اجباری حافظه موقت دایرکتوری در صورت پر شدن را تعیین می‌کند. .UNINDENT .INDENT 0.0 .TP .BI \-o \ direct_io این گزینه استفاده از page cache (حافظه موقت محتوای فایل) در هسته را برای این سیستم‌فایل غیرفعال می‌کند. این کار چندین اثر دارد: .INDENT 7.0 .IP 1. 3 هر فراخوانی سیستمی read() یا write() یک یا چند عملیات خواندن یا نوشتن را آغاز خواهد کرد و داده‌ها در هسته ذخیره موقت (کش) نخواهند شد. .IP 2. 3 مقدار بازگشتی فراخوانی‌های سیستمی read() و write() با مقادیر بازگشتی عملیات خواندن و نوشتن مطابقت خواهد داشت. این امر مثلاً در صورتی مفید است که اندازه فایل از قبل (پیش از خواندن آن) دانسته نباشد؛ مانند سیستم‌فایل /proc. .UNINDENT .UNINDENT .INDENT 0.0 .TP .B \-o max_conns=N حداکثر تعداد اتصالات هم‌زمان SSH را برای استفاده تعیین می‌کند. هر اتصال با یک فرایند مجزای SSH برقرار می‌شود. هدف اصلی این قابلیت بهبود پاسخ‌دهی سیستم‌فایل هنگام انتقال فایل‌های حجیم است. در صورت استفاده از بیش از یک اتصال، گزینه‌های \fIpassword_stdin\fP و \fIpassive\fP قابل استفاده نخواهند بود و راهکار موقت \fIbuflimit\fP پشتیبانی نمی‌شود. .UNINDENT .sp علاوه بر این، SSHFS چندین گزینه مشترک برای تمام سیستم‌فایل‌های FUSE را می‌پذیرد. این موارد در صفحه راهنمای \fImount.fuse\fP توضیح داده شده‌اند (به دنبال گزینه‌های \(dqgeneral\(dq، \(dqlibfuse specific\(dq و \(dqhigh\-level API\(dq بگردید)..SH "ملاحظات و راه‌حل‌ها (CAVEATS / WORKAROUNDS)" .SS "پیوندهای سخت (Hardlinks)" .sp اگر کارساز SSH از افزونهٔ \fIhardlinks\fP پشتیبانی کند، SSHFS به شما اجازهٔ ایجاد پیوندهای سخت را خواهد داد. با این حال، پیوندهای سخت هنگام مشاهده از طریق نقطهٔ سوارشدهٔ SSHFS همواره به‌صورت فایل‌های مجزا نمایش داده می‌شوند؛ بدین معنی که دارای inodeهای متفاوت و مقدار \fIst_nlink\fP برابر با 1 به نظر خواهند رسید. .SS "تغییر نام (Rename)" .sp برخی از کارسازهای SSH هنگام تغییر نام یک فایل، از بازنویسی اتمیک (atomically overwriting) فایل مقصد پشتیبانی نمی‌کنند. در این حالت، اگر قصد تغییر نام فایلی را داشته باشید و مقصد از قبل وجود داشته باشد، با خطا مواجه خواهید شد. یک راه‌حل این است که ابتدا فایل مقصد حذف شود و سپس تغییر نام صورت گیرد. SSHFS می‌تواند این کار را به‌طور خودکار انجام دهد اگر آن را با \fI\-o workaround=rename\fP\& اجرا کنید. با این وجود، در این حالت همچنان این احتمال وجود دارد که شخص (یا فرایندی) پس از حذف فایل مقصد توسط SSHFS و پیش از آنکه SSHFS فرصت تغییر نام فایل قدیمی را پیدا کند، فایل مقصد را دوباره ایجاد کند. در این شرایط، عملیات تغییر نام همچنان با شکست مواجه خواهد شد. .SS "خطای عدم دسترسی هنگام جابه‌جایی فایل‌ها بین فایل‌سیستم‌های دوردست" .sp بیشتر کارسازهای SFTP هنگام شکست در تغییر نام در مرزهای فایل‌سیستم (EXDEV)، تنها یک خطای عمومی «شکست» (\(dqfailure\(dq) بازمی‌گردانند. \fBsshfs\fP به‌طور معمول این شکست عمومی را به خطای عدم دسترسی (EPERM) تبدیل می‌کند. اگر گزینهٔ \fB\-o workaround=renamexdev\fP مشخص شده باشد، شکست‌های عمومی به‌صورت خطاهای EXDEV در نظر گرفته می‌شوند که باعث می‌شود برنامه‌هایی مانند \fImv(1)\fP پس از شکستِ تغییر نام، برای جابه‌جایی واقعی فایل تلاش کنند. .SS "قفل شدن SSHFS بدون دلیل مشخص" .sp در برخی موارد، اگر برای مدتی هیچ فعالیتی روی فایل‌سیستم رخ ندهد، ممکن است تلاش‌ها برای دسترسی به نقطهٔ سوارکردن (mountpoint) در SSHFS معلق و قفل (freeze) شوند. این موضوع معمولاً به دلیل قطع شدن اتصال SSH بر اثر عدم فعالیت رخ می‌دهد، بدون اینکه به SSHFS در این باره اطلاعی داده شده باشد. به‌عنوان یک راه‌حل، می‌توانید اتصال را با \fB\-o ServerAliveInterval=15\fP\& سوار کنید. این کار اتصال SSH را وادار می‌کند تا حتی در صورت نبود فعالیت نیز زنده و فعال باقی بماند. .SS "قفل شدن SSHFS پس از قطع اتصال" .sp به‌طور پیش‌فرض، عملیات شبکه در SSHFS بدون مهلت زمانی (timeout) اجرا می‌شوند که بیانگر رفتار پیش‌فرض خود SSH است. در نتیجه، اگر اتصال به میزبان دوردست قطع شود (برای مثال به دلیل جدا شدن کابل شبکه)، عملیات روی فایل‌ها یا پوشه‌های موجود در نقطهٔ سوارکردن تا زمانی که اتصال مجدداً برقرار شود یا به‌طور کامل (مثلاً به‌صورت دستی) بسته شود، مسدود خواهند شد. برنامه‌هایی که تلاش می‌کنند به چنین فایل‌ها یا دایرکتوری‌هایی دسترسی پیدا کنند، معمولاً در این حالت قفل (\(dqfreeze\(dq) به نظر می‌رسند. .sp اگر نادیده گرفتن داده‌های در حال خواندن یا نوشتن قابل قبول باشد، یک راه‌حل سریع خاتمه دادن اجباری (kill) به فرایند مسئول \fBsshfs\fP است؛ این کار باعث می‌شود هرگونه عملیات مسدودشده روی فایل‌سیستم سوارشده با خطا پایان یابد و در نتیجه برنامه‌های مربوطه از حالت قفل خارج شوند (\(dqunfreeze\(dq). توجه داشته باشید که از سوی دیگر، پیاده کردن اجباری با \fBfusermount \-zu\fP در این حالت کمکی نخواهد کرد و عملیات خواندن/نوشتن را در حالت مسدود باقی می‌گذارد. .sp برای یک راه‌حل خودکارتر، می‌توان از گزینهٔ \fB\-o ServerAliveInterval=15\fP که پیش‌تر به آن اشاره شد استفاده کرد؛ این گزینه پس از دریافت نکردن پاسخ به مدت ۳ * ۱۵ = ۴۵ ثانیه از میزبان دوردست، اتصال را قطع می‌کند. همچنین با استفاده از گزینهٔ \fB\-o reconnect\fP، می‌توان اطمینان حاصل کرد که اتصال پس از آن در سریع‌ترین زمان ممکن مجدداً برقرار می‌شود. همانند مورد قبل، این امر طبیعتاً منجر به از دست رفتن داده‌هایی می‌شود که در زمان قطع اتصال در حال خواندن یا نوشتن بوده‌اند. .SH "سوار کردن از طریق /etc/fstab (MOUNTING FROM /ETC/FSTAB)" .sp برای سوار کردن یک فایل‌سیستم SSHFS از طریق \fB/etc/fstab\fP، کافی است از \fBsshfs\fP به‌عنوان نوع فایل‌سیستم استفاده کنید. (برای حفظ سازگاری با نسخه‌های پیشین، می‌توانید از \fBfuse.sshfs\fP نیز استفاده کنید). .SH "همچنین ببینید (SEE ALSO)" .sp صفحهٔ راهنمای \fImount.fuse(8)\fP. .SH "دریافت راهنمایی (GETTING HELP)" .sp اگر به راهنمایی نیاز دارید، لطفاً در فهرست پستی <\%> آن را مطرح کنید (عضویت در \%). .sp لطفاً هرگونه باگ را در سامانهٔ ردیابی اشکالات GitHub در \%\& گزارش دهید. .SH "نویسندگان (AUTHORS)" .sp پروژهٔ SSHFS توسط Nikolaus Rath <\%> نگهداری می‌شد، و توسط Miklos Szeredi <\%> ساخته شده است. .sp برای اطلاعات دربارهٔ نگه‌دارندهٔ جدید پیوند \% را ببینید. .sp این صفحهٔ راهنما در ابتدا توسط Bartosz Fenski <\%> برای توزیع Debian GNU/Linux نوشته شد (اما ممکن است توسط دیگران نیز استفاده شود). .\" End of generated man page.