opensciencegrid / xrootd-multiuser

A filesystem plugin to allow Xrootd write as a different Unix user
Apache License 2.0
2 stars 12 forks source link

Multi-user OSS and CKS (checksum) plugin for Xrootd

A filesystem plugin to allow Xrootd to interact with underlying POSIX filesystems as different Unix users.

This plugin will change the thread's filesystem UID to match Xrootd's user name, meaning a user with a login session mapped to user name atlas will read and write to the filesystem as the UID associated with the Unix user atlas. Without this plugin, Xrootd will always read and write as the Unix user xrootd.

Configuration

To configure the multi-user plugin, add the following line to the Xrootd configuration file (XRootD 5.0+):

ofs.osslib ++ libXrdMultiuser.so

To enable the checksum (only on XRootD 5.2+):

ofs.ckslib ++ libXrdMultiuser.so

Startup

The Xrootd process must be started with the privileged Linux capabilities in order to successfully read and write as different users (i.e., execute the setfsuid and setfsgid calls). To support this, we have a separate systemd unit called xrootd-privileged@.service.

To start the configuration in /etc/xrootd/xrootd-clustered.cfg with the multiuser plugin enabled, execute:

systemctl start xrootd-privileged@clustered