Bug #3403
closedPrivilegeHelper unit tests fail on Fedora/CentOS due to missing group "nogroup"
100%
Description
Fedora and CentOS don't have "nogroup" by default. They use "nobody" user and "nobody" group.
Running 57 test cases...
../tests/core/privilege-helper.t.cpp(45): error in "DropRaise": exception thrown by PrivilegeHelper::initialize("nobody", "nogroup")
1452288247.361558 INFO: [PrivilegeHelper] dropped to effective uid=0 gid=0
../tests/core/privilege-helper.t.cpp(49): error in "DropRaise": check ::geteuid() != 0 failed [0 == 0]
1452288247.361627 INFO: [PrivilegeHelper] elevated to effective uid=0 gid=0
1452288247.361674 INFO: [PrivilegeHelper] dropped to effective uid=0 gid=0
1452288247.361716 INFO: [PrivilegeHelper] elevated to effective uid=0 gid=0
1452288247.361758 INFO: [PrivilegeHelper] dropped to effective uid=0 gid=0
../tests/core/privilege-helper.t.cpp(56): error in "DropRaise": check ::geteuid() != 0 failed [0 == 0]
1452288247.361812 INFO: [PrivilegeHelper] elevated to effective uid=0 gid=0
1452288248.050340 INFO: [VersionTest] NFD_VERSION 4000
1452288248.050605 INFO: [VersionTest] NFD_VERSION_STRING 0.4.0
*** 3 failures detected in test suite "NFD Core Tests"
Updated by Alex Afanasyev about 10 years ago
Is there equivalent for nouser/nogroup in Fedora?
Updated by susmit shannigrahi about 10 years ago
Alex Afanasyev wrote:
Is there equivalent for nouser/nogroup in Fedora?
Yes, "nobody:nobody"
Updated by Alex Afanasyev almost 10 years ago
What about we change the places where we explicitly use user and group name with something that obtains a first available non-root user. For example, for group it would be
group nonRootGroup;
bool found = false;
char buffer[1024];
for (gid_t gid = 100; gid < 7000; ++gid) {
group* groupResult = nullptr;
if (getgrgid_r(gid, &nonRootGroup, buffer, 1024, &groupResult) == 0) {
if (groupResult != nullptr) {
std::cerr << "gid: " << gid << std::endl;
std::cout << nonRootGroup.gr_name << std::endl;
found = true;
}
}
}
Updated by susmit shannigrahi almost 10 years ago
- Subject changed from Privilege unit tests fail on Fedora due to missing nogroup to Privileged unit tests fail on Fedora due to missing nogroup
Updated by susmit shannigrahi almost 10 years ago
Alex Afanasyev wrote:
What about we change the places where we explicitly use user and group name with something that obtains a first available non-root user.
If this is just for the unit-tests, it should be fine.
Updated by Junxiao Shi over 9 years ago
- Category set to Core
- Estimated time set to 3.00 h
Updated by Davide Pesavento over 7 years ago
- Blocks Task #4610: Make CentOS 7 an official (CI-tested) platform added
Updated by Davide Pesavento over 7 years ago
- Subject changed from Privileged unit tests fail on Fedora due to missing nogroup to PrivilegeHelper unit tests fail on Fedora/CentOS due to missing nogroup
- Description updated (diff)
Updated by Davide Pesavento over 7 years ago
- Subject changed from PrivilegeHelper unit tests fail on Fedora/CentOS due to missing nogroup to PrivilegeHelper unit tests fail on Fedora/CentOS due to missing group "nogroup"
- Status changed from New to In Progress
- Assignee set to Davide Pesavento
- Target version set to v0.7
- Estimated time changed from 3.00 h to 1.00 h
Updated by Davide Pesavento over 7 years ago
- Status changed from In Progress to Code review
- % Done changed from 0 to 100
https://gerrit.named-data.net/c/NFD/+/4963
I've decided to use "daemon" both as user name and group name. It seems to be in more widespread use than nobody/nogroup. Debian, Ubuntu, RHEL and derivatives (including Fedora and CentOS), and macOS all have it by default.
Updated by Davide Pesavento over 7 years ago
- Status changed from Code review to Closed