diff --git a/tapeserver/daemon/TapeDaemon.cpp b/tapeserver/daemon/TapeDaemon.cpp index b743ebb64b33a790f1824e04b518bc6a89564cbd..edf0332c3fdc09608c306fe7361ff01529161443 100644 --- a/tapeserver/daemon/TapeDaemon.cpp +++ b/tapeserver/daemon/TapeDaemon.cpp @@ -81,8 +81,8 @@ void cta::tape::daemon::TapeDaemon::exceptionThrowingMain() { // raw IO in the future setProcessCapabilities("cap_setgid,cap_setuid+ep cap_sys_rawio+p"); - const std::string userName = "cta"; - const std::string groupName = "cta"; + const std::string userName = m_globalConfiguration.daemonUserName.value(); + const std::string groupName = m_globalConfiguration.daemonGroupName.value(); daemonizeIfNotRunInForegroundAndSetUserAndGroup(userName, groupName); setDumpable(); diff --git a/tapeserver/daemon/TapedConfiguration.cpp b/tapeserver/daemon/TapedConfiguration.cpp index 7f7d6831fbac2d030c2172030f5828a5ac29fee5..8f81250ea9a6cc2f10c022c201fecda7c95b530d 100644 --- a/tapeserver/daemon/TapedConfiguration.cpp +++ b/tapeserver/daemon/TapedConfiguration.cpp @@ -32,6 +32,8 @@ TapedConfiguration TapedConfiguration::createFromCtaConf( ConfigurationFile cf(generalConfigPath); // Extract configuration from parsed config file // TpConfig + ret.daemonUserName.setFromConfigurationFile(cf, generalConfigPath); + ret.daemonGroupName.setFromConfigurationFile(cf, generalConfigPath); ret.logMask.setFromConfigurationFile(cf, generalConfigPath); ret.tpConfigPath.setFromConfigurationFile(cf, generalConfigPath); // Memory management diff --git a/tapeserver/daemon/TapedConfiguration.hpp b/tapeserver/daemon/TapedConfiguration.hpp index 16702901cb12a6d759492ba52b317d6d1b1008d7..80d259dca1d75e00e24b004b9916dde8b8227a56 100644 --- a/tapeserver/daemon/TapedConfiguration.hpp +++ b/tapeserver/daemon/TapedConfiguration.hpp @@ -44,6 +44,12 @@ struct TapedConfiguration { //---------------------------------------------------------------------------- // Basics: tp config //---------------------------------------------------------------------------- + /// The user name of the cta-taped daemon process + SourcedParameter<std::string> daemonUserName{ + "taped", "DaemonUserName", "cta", "Compile time default"}; + /// The group name of the cta-taped daemon process + SourcedParameter<std::string> daemonGroupName{ + "taped", "DaemonGroupName", "tape", "Compile time default"}; /// The log mask. Logs with a level lower than this value will be masked. SourcedParameter<std::string> logMask{ "taped", "LogMask", "DEBUG", "Compile time default"};