[PATCH 0/3] UID/GID mapping file system (idmapfs)
Alin Dobre
alin.dobre at elastichosts.com
Wed Oct 2 10:47:32 EDT 2013
From: Alin Dobre <alinmd at gmail.com>
Following Chris' idea and thread started on the linux mailing list ([1]), I
have started to implement such a filesystem starting from the current Wrapfs
code, which should do a simple mapping from UID 1000 on the lower filesystem to
UID 1001 on the upper filesystem.
My kernel tree is based on the 3.10-rc7 kernel.org tree (this was the master
tip at the time I mirrored it and started development) and has the Wrapfs
commits [2] on top of it. Patches should apply on latest kernel versions
without any issues.
Currently only UIDs are mapped, GIDs will follow somewhere at the end of the
implementation, since it will just mean copying most of the UID related code.
In general, the implementation manipulates the i_uid at inode level and
fsuid at file level operations.
Current code is still under development, but I wanted to start and gather
feedback, so I would be more than happy to hear your thoughts around this.
Thanks!
Alin.
[1] http://www.gossamer-threads.com/lists/linux/kernel/1726499?do=post_view_threaded#1726499
[2] http://git.fsl.cs.sunysb.edu/?p=wrapfs-latest.git;a=summary
Alin Dobre (3):
Minimum wrapfs rename
Mapping for multiple operations
Mapping read/write with fsuid
fs/Kconfig | 2 +-
fs/Makefile | 2 +-
fs/idmapfs/Kconfig | 8 +
fs/idmapfs/Makefile | 7 +
fs/idmapfs/dentry.c | 49 ++++++
fs/idmapfs/file.c | 331 ++++++++++++++++++++++++++++++++++++
fs/idmapfs/inode.c | 469 ++++++++++++++++++++++++++++++++++++++++++++++++++++
fs/idmapfs/lookup.c | 355 +++++++++++++++++++++++++++++++++++++++
fs/idmapfs/main.c | 174 +++++++++++++++++++
fs/idmapfs/mmap.c | 53 ++++++
fs/idmapfs/super.c | 168 +++++++++++++++++++
fs/idmapfs/wrapfs.h | 214 ++++++++++++++++++++++++
fs/wrapfs/Kconfig | 8 -
fs/wrapfs/Makefile | 7 -
fs/wrapfs/dentry.c | 49 ------
fs/wrapfs/file.c | 295 ---------------------------------
fs/wrapfs/inode.c | 463 ---------------------------------------------------
fs/wrapfs/lookup.c | 332 -------------------------------------
fs/wrapfs/main.c | 174 -------------------
fs/wrapfs/mmap.c | 53 ------
fs/wrapfs/super.c | 168 -------------------
fs/wrapfs/wrapfs.h | 205 -----------------------
22 files changed, 1830 insertions(+), 1756 deletions(-)
create mode 100644 fs/idmapfs/Kconfig
create mode 100644 fs/idmapfs/Makefile
create mode 100644 fs/idmapfs/dentry.c
create mode 100644 fs/idmapfs/file.c
create mode 100644 fs/idmapfs/inode.c
create mode 100644 fs/idmapfs/lookup.c
create mode 100644 fs/idmapfs/main.c
create mode 100644 fs/idmapfs/mmap.c
create mode 100644 fs/idmapfs/super.c
create mode 100644 fs/idmapfs/wrapfs.h
delete mode 100644 fs/wrapfs/Kconfig
delete mode 100644 fs/wrapfs/Makefile
delete mode 100644 fs/wrapfs/dentry.c
delete mode 100644 fs/wrapfs/file.c
delete mode 100644 fs/wrapfs/inode.c
delete mode 100644 fs/wrapfs/lookup.c
delete mode 100644 fs/wrapfs/main.c
delete mode 100644 fs/wrapfs/mmap.c
delete mode 100644 fs/wrapfs/super.c
delete mode 100644 fs/wrapfs/wrapfs.h
--
1.8.3.2
More information about the Kernelnewbies
mailing list