diff options
author | Zdenek Prikryl <zdeny@dhcp-lab-218.englab.brq.redhat.com> | 2009-08-14 17:20:47 +0200 |
---|---|---|
committer | Zdenek Prikryl <zdeny@dhcp-lab-218.englab.brq.redhat.com> | 2009-08-14 17:20:47 +0200 |
commit | 4739232edf3e57c32d108567c7e74b081b7ca0e3 (patch) | |
tree | 454714e05fdc10a2a91e3e3335827391f6c64958 | |
parent | a47af43af3cbb2106422e5930c8c67bf3c1e0ada (diff) | |
download | abrt-4739232edf3e57c32d108567c7e74b081b7ca0e3.tar.gz abrt-4739232edf3e57c32d108567c7e74b081b7ca0e3.tar.xz abrt-4739232edf3e57c32d108567c7e74b081b7ca0e3.zip |
created conf file has uid,gid of an user
-rw-r--r-- | src/Daemon/PluginManager.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/Daemon/PluginManager.cpp b/src/Daemon/PluginManager.cpp index 3fb81c0e..f4fe2738 100644 --- a/src/Daemon/PluginManager.cpp +++ b/src/Daemon/PluginManager.cpp @@ -281,7 +281,15 @@ void CPluginManager::SetPluginSettings(const std::string& pName, std::string home = get_home_dir(atoi(pUID.c_str())); if (home != "") { - SavePluginSettings(home + "/.abrt/" + pName + "." + PLUGINS_CONF_EXTENSION, pSettings); + std::string confPath = home + "/.abrt/" + pName + "." + PLUGINS_CONF_EXTENSION; + SavePluginSettings(confPath, pSettings); + uid_t uid = atoi(pUID.c_str()); + struct passwd* pw = getpwuid(uid); + gid_t gid = pw ? pw->pw_gid : uid; + if (chown(confPath.c_str(), uid, gid) == -1) + { + perror_msg("can't change '%s' ownership to %u:%u", confPath.c_str(), (int)uid, (int)gid); + } } } } |