SFS(1)

NAME
SFS - Self Certifying Filesystem

DOCUMENTATION
This manpage was written as short description and as pointer to more complete documentation. Up to date documentation can be found as Info-pages of SFS (or from /usr/share/doc/sfs-common in Debian systems). You can access the Info pages with command "info sfs".

DESCRIPTION
SFS is a secure, global network filesystem with comple- tedly decentralized control. It takes NFS shares expor- ted from localhost and transports them securely to other hosts; NFS services do not need to be exposed to network.

SFS features key management and authorization separated from filesystem with key revokation separated from key distribution.

More information and new versions can be found from:

http://www.fs.net

GLOBAL NAMESPACE
SFS mounts directories from fileservers under a directory in the form:

/sfs/@Location,HostID

Location is either ip address or hostname of the server.

HostID is a collision-resistant cryptographic hash of the file server's public key.

CLIENT DESCRIPTION
Client side operation of SFS consists of following prog- rams:

sfscd
    creates and serves /sfs directory on client machine. Also starts nfsmounter and sfsrwcd as needed.

nfsmounter
    mounts and unmounts NFS filesystems as kernel NFS client accesses them.

sfsrwcd
    is a daemon that implements normal read/write filesystem protocol. It acts as a NFS server to local NFS client.

USER PROGRAMS
On client machine user normally uses the following prog- rams:

sfsagent
    handles authentication as user moves to new filesystems. It also can fetch new HostIDs and perform revocation checks on them.

sfskey
    manages user and server keys and is used to configure sfsagent for different situations.

SERVER DESCRIPTION
Server side consists of following programs:

sfssd
    handles incoming connections and spawns sfsrwcd and sfsrwcd as needed.

sfsrwcd
    is a daemon that implements normal read/write filesystem protocol and talks to local NFS server.

sfsauthd
    handles user authentication. It communicates directly with sfsrwsd to authenticate users of the file system. It also accepts connections over the network from sfskey to let users download their private keys or change their public keys.

HELPER BINARIES
There are few small programs to help with misc tasks:

rpcc
    To be documented.

funmount
    To be documented.

dirsearch
    can be used with sfskey certprog command to configure certification paths --lists of directories in which to look for symbolic links to HostIDs.

Usage is:

dirsearch [-clpq] dir1 [dir2 ...] name
    dirsearch searches through dir1-x untill it finds the file "name" and prints "dir/name". Following options affect this:

-c  Print the contents of the file to standard output, instead of its pathname.

-l  Require that "dir/name" be a symbolic link, and print the path of the link's destination, rather than the path of the link itself.

-p  Print the path "dir/name". This is the default behavior anyway, so the option -p has no effect.

-q  Do not print anything. Exit abnormally if "name" is not found in any of the directories.

ssu The ssu command allows an unprivileged user to become root on the local machine without changing his SFS credentials. ssu invokes the command su to become root. Thus, the access and password checks needed to become root are identical to those of the local operating system's su command. ssu also runs newaid to alter the group list so that SFS can recognize the root shell as belonging to the original user.

    Usage:

ssu [-f | -m | -l | -c command]
-f
-m  this and -f command are passed through to the su command.

-l  This option causes the newly spawned root shell to behave like a login shell.

-c command
    Tells ssu to tell su to run command rather than running a shell.

SEE ALSO
sfskey(1), nfs(5), info(1), sfsagent(1)

NOTES
Solid NFSv3 support is required from kernel and supporting utilities.

CAVEATS
You really do not want to kill nfsmounter, as it is responsible for cleaning up and unmounting filesystems on the client side, if sfscd has died or something else happened.

BUGS
/sfs is not FHS compliant. FHS on the other hand is lack- ing mount points for system mounts.

AUTHOR
This manpage was written by Jaakko Niemi for sfs packaging in Debian/GNU Operating System.