[PATCH v3 00/11] Add the "[exports] rootdir" option to nfs.conf

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The following patchset adds support for the "rootdir" configuration
option for nfsd in the "[exports]" section in /etc/nfs.conf.

If a user sets this option to a valid directory path, then nfsd will
act as if it is confined to a chroot jail based on that directory.
All paths in /etc/exports and the exportfs utility are then resolved
relative to that directory.

Trond Myklebust (11):
  mountd: Ensure we don't share cache file descriptors among processes.
  Add a simple workqueue mechanism
  Allow callers to check mountpoint status using a custom lstat function
  Add utilities for resolving nfsd paths and stat()ing them
  Use xstat() with no synchronisation if available
  Add helpers to read/write to a file through the chrooted thread
  Add a helper to return the real path given an export entry
  Add support for the "[exports] rootdir" nfs.conf option to rpc.mountd
  Add support for the "[exports] rootdir" nfs.conf option to exportfs
  Add a helper for resolving symlinked nfsd paths via realpath()
  Fix up symlinked mount path resolution when "[exports] rootdir" is set

 aclocal/libpthread.m4       |  13 +-
 configure.ac                |   6 +-
 nfs.conf                    |   3 +
 support/export/export.c     |  24 +++
 support/include/Makefile.am |   3 +
 support/include/exportfs.h  |   1 +
 support/include/misc.h      |   7 +-
 support/include/nfsd_path.h |  21 +++
 support/include/nfslib.h    |   1 +
 support/include/workqueue.h |  18 +++
 support/include/xstat.h     |  11 ++
 support/misc/Makefile.am    |   3 +-
 support/misc/mountpoint.c   |   8 +-
 support/misc/nfsd_path.c    | 289 ++++++++++++++++++++++++++++++++++++
 support/misc/workqueue.c    | 228 ++++++++++++++++++++++++++++
 support/misc/xstat.c        | 105 +++++++++++++
 support/nfs/exports.c       |   4 +
 systemd/nfs.conf.man        |  20 ++-
 utils/exportfs/Makefile.am  |   2 +-
 utils/exportfs/exportfs.c   |  11 +-
 utils/mountd/Makefile.am    |   3 +-
 utils/mountd/cache.c        |  63 +++++---
 utils/mountd/mountd.c       |  24 +--
 23 files changed, 819 insertions(+), 49 deletions(-)
 create mode 100644 support/include/nfsd_path.h
 create mode 100644 support/include/workqueue.h
 create mode 100644 support/include/xstat.h
 create mode 100644 support/misc/nfsd_path.c
 create mode 100644 support/misc/workqueue.c
 create mode 100644 support/misc/xstat.c

-- 
2.21.0




[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux