djm@openbsd.org | da0277e | 2014-12-11 04:16:14 +0000 | [diff] [blame] | 1 | .\" $OpenBSD: sftp-server.8,v 1.27 2014/12/11 04:16:14 djm Exp $ |
Damien Miller | e4340be | 2000-09-16 13:29:08 +1100 | [diff] [blame] | 2 | .\" |
Ben Lindstrom | 92a2e38 | 2001-03-05 06:59:27 +0000 | [diff] [blame] | 3 | .\" Copyright (c) 2000 Markus Friedl. All rights reserved. |
Damien Miller | e4340be | 2000-09-16 13:29:08 +1100 | [diff] [blame] | 4 | .\" |
| 5 | .\" Redistribution and use in source and binary forms, with or without |
| 6 | .\" modification, are permitted provided that the following conditions |
| 7 | .\" are met: |
| 8 | .\" 1. Redistributions of source code must retain the above copyright |
| 9 | .\" notice, this list of conditions and the following disclaimer. |
| 10 | .\" 2. Redistributions in binary form must reproduce the above copyright |
| 11 | .\" notice, this list of conditions and the following disclaimer in the |
| 12 | .\" documentation and/or other materials provided with the distribution. |
| 13 | .\" |
| 14 | .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR |
| 15 | .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES |
| 16 | .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. |
| 17 | .\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, |
| 18 | .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT |
| 19 | .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
| 20 | .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
| 21 | .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
| 22 | .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF |
| 23 | .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
| 24 | .\" |
djm@openbsd.org | da0277e | 2014-12-11 04:16:14 +0000 | [diff] [blame] | 25 | .Dd $Mdocdate: December 11 2014 $ |
Damien Miller | 7b28dc5 | 2000-09-05 13:34:53 +1100 | [diff] [blame] | 26 | .Dt SFTP-SERVER 8 |
| 27 | .Os |
| 28 | .Sh NAME |
| 29 | .Nm sftp-server |
| 30 | .Nd SFTP server subsystem |
| 31 | .Sh SYNOPSIS |
| 32 | .Nm sftp-server |
Damien Miller | 6eaeebf | 2013-10-15 11:55:57 +1100 | [diff] [blame] | 33 | .Bk -words |
Darren Tucker | db7bf82 | 2010-01-09 22:24:33 +1100 | [diff] [blame] | 34 | .Op Fl ehR |
Damien Miller | 502ab0e | 2013-01-09 15:57:36 +1100 | [diff] [blame] | 35 | .Op Fl d Ar start_directory |
Damien Miller | fef95ad | 2006-07-10 20:46:55 +1000 | [diff] [blame] | 36 | .Op Fl f Ar log_facility |
| 37 | .Op Fl l Ar log_level |
Damien Miller | 6efab27 | 2013-10-15 12:07:05 +1100 | [diff] [blame] | 38 | .Op Fl P Ar blacklisted_requests |
| 39 | .Op Fl p Ar whitelisted_requests |
Darren Tucker | 6b286a4 | 2009-10-07 08:46:21 +1100 | [diff] [blame] | 40 | .Op Fl u Ar umask |
Damien Miller | 6eaeebf | 2013-10-15 11:55:57 +1100 | [diff] [blame] | 41 | .Ek |
| 42 | .Nm |
| 43 | .Fl Q Ar protocol_feature |
Damien Miller | 7b28dc5 | 2000-09-05 13:34:53 +1100 | [diff] [blame] | 44 | .Sh DESCRIPTION |
| 45 | .Nm |
| 46 | is a program that speaks the server side of SFTP protocol |
| 47 | to stdout and expects client requests from stdin. |
| 48 | .Nm |
| 49 | is not intended to be called directly, but from |
Damien Miller | 50a41ed | 2000-10-16 12:14:42 +1100 | [diff] [blame] | 50 | .Xr sshd 8 |
Damien Miller | 7b28dc5 | 2000-09-05 13:34:53 +1100 | [diff] [blame] | 51 | using the |
| 52 | .Cm Subsystem |
| 53 | option. |
Damien Miller | fef95ad | 2006-07-10 20:46:55 +1000 | [diff] [blame] | 54 | .Pp |
| 55 | Command-line flags to |
| 56 | .Nm |
| 57 | should be specified in the |
| 58 | .Cm Subsystem |
| 59 | declaration. |
Damien Miller | 7b28dc5 | 2000-09-05 13:34:53 +1100 | [diff] [blame] | 60 | See |
Darren Tucker | 1f20394 | 2003-10-15 15:50:42 +1000 | [diff] [blame] | 61 | .Xr sshd_config 5 |
Damien Miller | 7b28dc5 | 2000-09-05 13:34:53 +1100 | [diff] [blame] | 62 | for more information. |
Damien Miller | fef95ad | 2006-07-10 20:46:55 +1000 | [diff] [blame] | 63 | .Pp |
| 64 | Valid options are: |
| 65 | .Bl -tag -width Ds |
Damien Miller | aa7ad30 | 2013-01-09 15:58:21 +1100 | [diff] [blame] | 66 | .It Fl d Ar start_directory |
Damien Miller | 502ab0e | 2013-01-09 15:57:36 +1100 | [diff] [blame] | 67 | specifies an alternate starting directory for users. |
| 68 | The pathname may contain the following tokens that are expanded at runtime: |
| 69 | %% is replaced by a literal '%', |
djm@openbsd.org | da0277e | 2014-12-11 04:16:14 +0000 | [diff] [blame] | 70 | %d is replaced by the home directory of the user being authenticated, |
Damien Miller | 502ab0e | 2013-01-09 15:57:36 +1100 | [diff] [blame] | 71 | and %u is replaced by the username of that user. |
| 72 | The default is to use the user's home directory. |
| 73 | This option is useful in conjunction with the |
| 74 | .Xr sshd_config 5 |
| 75 | .Cm ChrootDirectory |
| 76 | option. |
Darren Tucker | 7bee06a | 2009-10-07 08:47:47 +1100 | [diff] [blame] | 77 | .It Fl e |
| 78 | Causes |
| 79 | .Nm |
| 80 | to print logging information to stderr instead of syslog for debugging. |
Damien Miller | fef95ad | 2006-07-10 20:46:55 +1000 | [diff] [blame] | 81 | .It Fl f Ar log_facility |
| 82 | Specifies the facility code that is used when logging messages from |
| 83 | .Nm . |
| 84 | The possible values are: DAEMON, USER, AUTH, LOCAL0, LOCAL1, LOCAL2, |
| 85 | LOCAL3, LOCAL4, LOCAL5, LOCAL6, LOCAL7. |
| 86 | The default is AUTH. |
Darren Tucker | 7bee06a | 2009-10-07 08:47:47 +1100 | [diff] [blame] | 87 | .It Fl h |
| 88 | Displays |
| 89 | .Nm |
| 90 | usage information. |
Damien Miller | fef95ad | 2006-07-10 20:46:55 +1000 | [diff] [blame] | 91 | .It Fl l Ar log_level |
| 92 | Specifies which messages will be logged by |
| 93 | .Nm . |
| 94 | The possible values are: |
| 95 | QUIET, FATAL, ERROR, INFO, VERBOSE, DEBUG, DEBUG1, DEBUG2, and DEBUG3. |
| 96 | INFO and VERBOSE log transactions that |
| 97 | .Nm |
| 98 | performs on behalf of the client. |
| 99 | DEBUG and DEBUG1 are equivalent. |
| 100 | DEBUG2 and DEBUG3 each specify higher levels of debugging output. |
| 101 | The default is ERROR. |
Damien Miller | 6eaeebf | 2013-10-15 11:55:57 +1100 | [diff] [blame] | 102 | .It Fl P Ar blacklisted_requests |
Damien Miller | 6efab27 | 2013-10-15 12:07:05 +1100 | [diff] [blame] | 103 | Specify a comma-separated list of SFTP protocol requests that are banned by |
Damien Miller | 6eaeebf | 2013-10-15 11:55:57 +1100 | [diff] [blame] | 104 | the server. |
| 105 | .Nm |
| 106 | will reply to any blacklisted request with a failure. |
| 107 | The |
| 108 | .Fl Q |
Damien Miller | 6efab27 | 2013-10-15 12:07:05 +1100 | [diff] [blame] | 109 | flag can be used to determine the supported request types. |
Damien Miller | 6eaeebf | 2013-10-15 11:55:57 +1100 | [diff] [blame] | 110 | If both a blacklist and a whitelist are specified, then the blacklist is |
| 111 | applied before the whitelist. |
| 112 | .It Fl p Ar whitelisted_requests |
Damien Miller | 6efab27 | 2013-10-15 12:07:05 +1100 | [diff] [blame] | 113 | Specify a comma-separated list of SFTP protocol requests that are permitted |
Damien Miller | 6eaeebf | 2013-10-15 11:55:57 +1100 | [diff] [blame] | 114 | by the server. |
| 115 | All request types that are not on the whitelist will be logged and replied |
| 116 | to with a failure message. |
| 117 | .Pp |
| 118 | Care must be taken when using this feature to ensure that requests made |
Damien Miller | 6efab27 | 2013-10-15 12:07:05 +1100 | [diff] [blame] | 119 | implicitly by SFTP clients are permitted. |
Damien Miller | 6eaeebf | 2013-10-15 11:55:57 +1100 | [diff] [blame] | 120 | .It Fl Q Ar protocol_feature |
| 121 | Query protocol features supported by |
| 122 | .Nm . |
| 123 | At present the only feature that may be queried is |
| 124 | .Dq requests , |
Damien Miller | 6efab27 | 2013-10-15 12:07:05 +1100 | [diff] [blame] | 125 | which may be used for black or whitelisting (flags |
Damien Miller | 6eaeebf | 2013-10-15 11:55:57 +1100 | [diff] [blame] | 126 | .Fl P |
Damien Miller | 6efab27 | 2013-10-15 12:07:05 +1100 | [diff] [blame] | 127 | and |
| 128 | .Fl p |
| 129 | respectively). |
Darren Tucker | db7bf82 | 2010-01-09 22:24:33 +1100 | [diff] [blame] | 130 | .It Fl R |
| 131 | Places this instance of |
| 132 | .Nm |
| 133 | into a read-only mode. |
| 134 | Attempts to open files for writing, as well as other operations that change |
Darren Tucker | 838891f | 2010-01-09 22:25:46 +1100 | [diff] [blame] | 135 | the state of the filesystem, will be denied. |
Darren Tucker | 6b286a4 | 2009-10-07 08:46:21 +1100 | [diff] [blame] | 136 | .It Fl u Ar umask |
| 137 | Sets an explicit |
| 138 | .Xr umask 2 |
| 139 | to be applied to newly-created files and directories, instead of the |
| 140 | user's default mask. |
Damien Miller | fef95ad | 2006-07-10 20:46:55 +1000 | [diff] [blame] | 141 | .El |
Damien Miller | 276571c | 2008-07-14 12:09:57 +1000 | [diff] [blame] | 142 | .Pp |
Damien Miller | 426117b | 2014-07-30 12:33:20 +1000 | [diff] [blame] | 143 | On some systems, |
Damien Miller | 276571c | 2008-07-14 12:09:57 +1000 | [diff] [blame] | 144 | .Nm |
| 145 | must be able to access |
Damien Miller | 426117b | 2014-07-30 12:33:20 +1000 | [diff] [blame] | 146 | .Pa /dev/log |
| 147 | for logging to work, and use of |
Damien Miller | 276571c | 2008-07-14 12:09:57 +1000 | [diff] [blame] | 148 | .Nm |
Darren Tucker | 5837b51 | 2009-06-21 17:52:27 +1000 | [diff] [blame] | 149 | in a chroot configuration therefore requires that |
Damien Miller | 276571c | 2008-07-14 12:09:57 +1000 | [diff] [blame] | 150 | .Xr syslogd 8 |
| 151 | establish a logging socket inside the chroot directory. |
Damien Miller | 7b28dc5 | 2000-09-05 13:34:53 +1100 | [diff] [blame] | 152 | .Sh SEE ALSO |
Ben Lindstrom | 160ec62 | 2001-04-22 17:17:46 +0000 | [diff] [blame] | 153 | .Xr sftp 1 , |
Damien Miller | 7b28dc5 | 2000-09-05 13:34:53 +1100 | [diff] [blame] | 154 | .Xr ssh 1 , |
Darren Tucker | 1f20394 | 2003-10-15 15:50:42 +1000 | [diff] [blame] | 155 | .Xr sshd_config 5 , |
Damien Miller | 50a41ed | 2000-10-16 12:14:42 +1100 | [diff] [blame] | 156 | .Xr sshd 8 |
Ben Lindstrom | 160ec62 | 2001-04-22 17:17:46 +0000 | [diff] [blame] | 157 | .Rs |
Ben Lindstrom | 90fd060 | 2001-06-25 04:45:33 +0000 | [diff] [blame] | 158 | .%A T. Ylonen |
| 159 | .%A S. Lehtinen |
Ben Lindstrom | 160ec62 | 2001-04-22 17:17:46 +0000 | [diff] [blame] | 160 | .%T "SSH File Transfer Protocol" |
Darren Tucker | 5d8b702 | 2013-05-16 20:24:23 +1000 | [diff] [blame] | 161 | .%N draft-ietf-secsh-filexfer-02.txt |
| 162 | .%D October 2001 |
Ben Lindstrom | 160ec62 | 2001-04-22 17:17:46 +0000 | [diff] [blame] | 163 | .%O work in progress material |
| 164 | .Re |
Damien Miller | 50a41ed | 2000-10-16 12:14:42 +1100 | [diff] [blame] | 165 | .Sh HISTORY |
| 166 | .Nm |
Darren Tucker | 25bd3c0 | 2006-09-26 20:14:28 +1000 | [diff] [blame] | 167 | first appeared in |
| 168 | .Ox 2.8 . |
| 169 | .Sh AUTHORS |
Damien Miller | bf836e5 | 2013-07-18 16:14:13 +1000 | [diff] [blame] | 170 | .An Markus Friedl Aq Mt markus@openbsd.org |