/xrootd-multiuser

A filesystem plugin to allow Xrootd write as a different Unix user

Primary LanguageC++Apache License 2.0Apache-2.0

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