[LTP] [PATCH] IDcheck: Add check for root user/group
Tudor Cretu
tudor.cretu@arm.com
Wed Aug 17 15:37:00 CEST 2022
Some tests (e.g. getgid, getegid, etc.) need to have a valid user id and
group for root. Add the check to IDcheck.sh. Also, make a user and a group
for root if necessary.
Signed-off-by: Tudor Cretu <tudor.cretu@arm.com>
---
IDcheck.sh | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/IDcheck.sh b/IDcheck.sh
index 591695915..c6c41b965 100755
--- a/IDcheck.sh
+++ b/IDcheck.sh
@@ -26,9 +26,11 @@ echo "Checking for required user/group ids"
echo ""
# Check ids and create if needed.
+NO_ROOT_ID=1
NO_NOBODY_ID=1
NO_BIN_ID=1
NO_DAEMON_ID=1
+NO_ROOT_GRP=1
NO_NOBODY_GRP=1
NO_BIN_GRP=1
NO_DAEMON_GRP=1
@@ -49,7 +51,7 @@ fe() {
prompt_for_create() {
if [ -z "$CREATE_ENTRIES" ] ; then
- if [ $NO_NOBODY_ID -ne 0 -o $NO_BIN_ID -ne 0 -o $NO_DAEMON_ID -ne 0 -o $NO_NOBODY_GRP -ne 0 -o $NO_BIN_GRP -ne 0 -o $NO_DAEMON_GRP -ne 0 -o $NO_USERS_GRP -ne 0 -o $NO_SYS_GRP -ne 0 ] ; then
+ if [ $NO_ROOT_ID -ne 0 -o $NO_NOBODY_ID -ne 0 -o $NO_BIN_ID -ne 0 -o $NO_DAEMON_ID -ne 0 -o $NO_ROOT_GRP -ne 0 -o $NO_NOBODY_GRP -ne 0 -o $NO_BIN_GRP -ne 0 -o $NO_DAEMON_GRP -ne 0 -o $NO_USERS_GRP -ne 0 -o $NO_SYS_GRP -ne 0 ] ; then
echo -n "If any required user ids and/or groups are missing, would you like these created? [y/N]"
read ans
case "$ans" in
@@ -74,10 +76,12 @@ for i in "$passwd" "$group"; do
fi
done
+fe root "$passwd"; NO_ROOT_ID=$?
fe bin "$passwd"; NO_BIN_ID=$?
fe daemon "$passwd"; NO_DAEMON_ID=$?
fe nobody "$passwd"; NO_NOBODY_ID=$?
+fe root "$group"; NO_ROOT_GRP=$?
fe bin "$group"; NO_BIN_GRP=$?
fe daemon "$group"; NO_DAEMON_GRP=$?
fe nobody "$group" || fe nogroup "$group"; NO_NOBODY_GRP=$?
@@ -91,9 +95,11 @@ debug_vals() {
echo "Missing the following group / user entries:"
echo "Group file: $group"
echo "Password file: $passwd"
+echo "root $NO_ROOT_ID"
echo "nobody: $NO_NOBODY_ID"
echo "bin: $NO_BIN_ID"
echo "daemon: $NO_DAEMON_ID"
+echo "root grp: $NO_ROOT_GRP"
echo "nobody[/nogroup] grp: $NO_NOBODY_GRP"
echo "bin grp: $NO_BIN_GRP"
echo "daemon grp: $NO_DAEMON_GRP"
@@ -130,6 +136,7 @@ make_user_group() {
fi
fi
}
+make_user_group root 0 $NO_ROOT_ID $NO_ROOT_GRP
make_user_group nobody 65534 $NO_NOBODY_ID $NO_NOBODY_GRP
make_user_group bin 1 $NO_BIN_ID $NO_BIN_GRP
make_user_group daemon 2 $NO_DAEMON_ID $NO_DAEMON_GRP
@@ -149,7 +156,7 @@ fi
MISSING_ENTRY=0
# For entries that exist in both $group and $passwd.
-for i in bin daemon; do
+for i in root bin daemon; do
for file in "$group" "$passwd"; do
if ! fe "$i" "$file"; then
MISSING_ENTRY=1
--
2.25.1
More information about the ltp
mailing list