wfsctl(8) BSD System Manager's Manual wfsctl(8)
NAME
wfsctl -- WebDAV File Sharing control utility
SYNOPSYS
wfsctl command [arg]
OVERVIEW
The wfsctl utility allows administrators to start, stop, and check the
status of the WebDAV File Sharing service (WFS). It also allows adminis-
trators to create and delete WebDAV share points. It operates by config-
uring the Apache httpd server. The wfsctl command requires root privi-
leges.
COMMANDS
wfsctl provides the following commands:
start Enable the WFS configuration, and either start or
restart Apache to pick it up. If necessary, this
action will create an SSL Identity matching the
machine's host name as determined by the host-
name(1) command, and place it in the System key-
chain. It will also update, if necessary, environ-
ment variable definitions for use by parameteried
httpd config files.
stop Disable the WFS configuration, and restart Apache
if it's already running.
status Display the status of WFS, either "enabled" or
"disabled", whether or not Apache is running.
shares Display existing WebDAV share points.
share path Create a WebDAV share point for the specified file
system path.
unshare path | name Disable WebDAV for the share point at the speci-
fied file system path or share point name, and
delete the share point if no other file sharing
service (AFP or SMB) was enabled on that share
point.
diagnose Display detailed status of Apache and WebDAV-
related processes.
DETAILS
WebDAV File Sharing operates by:
1. Recognizing WebDAV clients when they send OPTIONS or PROPFIND direc-
tives
2. Requiring such clients to provide OD credentials
3. Assigning those authenticated users an HTTP cookie to recognize them
as WebDAV clients
4. Launching an instance of the Apache httpd process on behalf of that
user, configured as a WebDAV server
5. Reverse-proxying HTTP traffic to that user-specific instance of
httpd, so that the WebDAV client (typically an iWork app on iOS) can
access the home directory and share points on the server machine
with privileges of the authenticated user
6. Recognizing share points that are marked as WebDAV share points.
Depending on how Apache is configured, this can coexist with other Apache
web service functions.
NOTE
Note that WebDAV File Sharing requies SSL, and uses Basic authentication,
with credentials that would otherwise be sent in the clear over the net-
work. Also note that it uses Apache modules mod_secure_transport for SSL,
and mod_authn_od_apple for Basic authentication with OpenDirectory cre-
dentials.
CONFIGURABLE SETTINGS
Certain settings are kept in /etc/wfs/wfs.plist and are configurable by
the administrator, including:
ServerName The host name the Apache web server should use,
and also the Common Name of the identity certfi-
cate. If this is not configured, or set to an
empty string, the hostname(1) of the machine is
used.
ServerAddr The IP address the Apache web server should use to
listen for HTTPS requests. Default is "*", which
means all addresses.
ServerPort The TCP port the Apache web server should use to
listen for HTTPS requests. Default is the standard
HTTPS port, 443.
AccessGroup The Open Directory group allowed access to the
WebDAV File Sharing service. The default is
"everyone", which gives access to any authenti-
cated user. Administrators can change this setting
to restrict access further. Note that in any case
authenticated users will have, at most, the privi-
leges they are normally allowed by file system
permissions. There is no provision for guest
access, so unauthenticated users have no access.
SynthesizeSharePointForUserHomeDir
Whether to allow remote WebDAV clients to see
their home diretory as a share point. Default is
True.
The Apache config file for WebDAV File Sharing is parameterized, and the
httpd server is managed by the httpd-wrapper utility, which passes param-
eters to httpd. This is normally transparent, but note that to check the
Apache config file syntax, do not use "apachectl configtest" or "httpd
-t". Instead, use "httpd-wrapper -t".
RETURN VALUES
wfsctl returns a status code of 0 for success. In the event of failure it
returns a non-zero status, and may also dump additional diagnostic infor-
mation.
FILES
/etc/wfs/httpd_webdavsharing.conf
The parameterized Apache config file for the main instance of
httpd
/etc/wfs/httpd_webdavsharing_template.conf
The parameterized Apache config file for the user-specific
instances of httpd
/etc/wfs/httpd_webdavsharing_sharepoints.conf
The Apache config file providing directives specific to each
share point; dynamically generated when ehare points are modified
by wfsctl
/etc/wfs/wfs.plist
The file where admin-configurable settings for WFS are stored.
/etc/apache2/env.plist
The file where environment variables definitions are managed
automatically; these variables are passed to httpd for use in
parameterized config files.
/Library/Logs/WebDAVSharing.log
The main WebDAV File Sharing log file
/etc/apache2/other/httpd_webdavsharing.conf
A symlink seen by Apache when WebDAV File Sharing is enabled.
/var/run/webdavsharing/<username>/
A directory created on the behalf of each authenticated user to
store user-specific WebDAV File Sharing logs.
/usr/share/sandbox/wfs.sb
The parameterized sandbox profile for user-specific httpd
instances.
/etc/wfs/wfs.sb
The dynamically generated portion of the sandbox profile
SEE ALSO
httpd(8) httpd-wrapper(8)
macOS Sept. 20, 2016 macOS
Mac OS X 10.12.6 - Generated Sun Nov 5 18:46:07 CST 2017
