Message ID | 20240902062738.267190-1-pvorel@suse.cz |
---|---|
State | Accepted |
Headers | show |
Series | [v2,1/1] isofs.sh: Use nobody user | expand |
On Mon, Sep 02, 2024 at 08:27:38AM +0200, Petr Vorel wrote: > From: Wei Gao <wegao@suse.com> > > Some distros don't have user/group 'bin' (e.g. SUSE SLE-Micro). > Although this user/group is required and created IDcheck.sh. > (This script should be replaced in the future with library call, > but it's still supported). > > Replace 'bin' user/group with 'nobody' user (more common on various > Linux distributions). Most of the distros name have 'nobody' user's > group also 'nobody', but at least Debian name it 'nogroup'. Therefore > detect this name with 'id -g -n'. > > Reported-by: Wei Gao <wegao@suse.com> > Signed-off-by: Petr Vorel <pvorel@suse.cz> > --- > Changes v1->v2: > * Correct fallback condition (thanks Wei for the report): > - [ "$TEST_USER" ] || TEST_GROUP="$TEST_USER" > + [ "$TEST_GROUP" ] || TEST_GROUP="$TEST_USER" > > testcases/kernel/fs/iso9660/isofs.sh | 13 +++++++++++-- > 1 file changed, 11 insertions(+), 2 deletions(-) > > diff --git a/testcases/kernel/fs/iso9660/isofs.sh b/testcases/kernel/fs/iso9660/isofs.sh > index d1a362d979..088e062d67 100755 > --- a/testcases/kernel/fs/iso9660/isofs.sh > +++ b/testcases/kernel/fs/iso9660/isofs.sh > @@ -13,10 +13,19 @@ TST_NEEDS_CMDS="mount umount" > TST_NEEDS_TMPDIR=1 > TST_TESTFUNC=do_test > TST_CNT=3 > +TST_SETUP="setup" > > MAX_DEPTH=3 > MAX_DIRS=4 > > +TEST_USER='nobody' > + > +setup() > +{ > + TEST_GROUP="$(id -g -n $TEST_USER)" > + [ "$TEST_GROUP" ] || TEST_GROUP="$TEST_USER" If $TEST_GROUP can not be found then this case will failed unless we create new group. My suggestion is remove above line totally or we start create group for nobody user. > +} > + > gen_fs_tree() > { > local cur_path="$1" > @@ -92,8 +101,8 @@ do_test() > "loop,block=512,unhide" \ > "loop,block=1024,cruft" \ > "loop,block=2048,nocompress" \ > - "loop,check=strict,map=off,gid=bin,uid=bin" \ > - "loop,check=strict,map=acorn,gid=bin,uid=bin" \ > + "loop,check=strict,map=off,gid=$TEST_GROUP,uid=$TEST_USER" \ > + "loop,check=strict,map=acorn,gid=$TEST_GROUP,uid=$TEST_USER" \ > "loop,check=relaxed,map=normal" \ > "loop,block=512,unhide,session=2" > do > -- > 2.45.2 >
Hi Wei, > > +TEST_USER='nobody' > > + > > +setup() > > +{ > > + TEST_GROUP="$(id -g -n $TEST_USER)" > > + [ "$TEST_GROUP" ] || TEST_GROUP="$TEST_USER" > If $TEST_GROUP can not be found then this case will failed unless we create new group. > My suggestion is remove above line totally or we start create group for nobody user. That check is a fallback if 'id' is not installed but there is requested nobody:nobody or nobody/nogroup group set by IDcheck.sh or manually. But sure, I can delete it if we expect id to be installed. I just did not want to require 'id' for this test when there can be a workaround. Kind regards, Petr
On Mon, Sep 02, 2024 at 09:16:15AM +0200, Petr Vorel wrote: > Hi Wei, > > > > +TEST_USER='nobody' > > > + > > > +setup() > > > +{ > > > + TEST_GROUP="$(id -g -n $TEST_USER)" > > > + [ "$TEST_GROUP" ] || TEST_GROUP="$TEST_USER" > > If $TEST_GROUP can not be found then this case will failed unless we create new group. > > My suggestion is remove above line totally or we start create group for nobody user. > > That check is a fallback if 'id' is not installed but there is requested > nobody:nobody or nobody/nogroup group set by IDcheck.sh or manually. Thanks for your explaination. Then no question from my side. Acked-by: Wei Gao <wegao@suse.com> > > But sure, I can delete it if we expect id to be installed. I just did not want > to require 'id' for this test when there can be a workaround. > > Kind regards, > Petr
Hi!
Reviewed-by: Cyril Hrubis <chrubis@suse.cz>
Hi Cyril, thanks for your review, merged! Kind regards, Petr
diff --git a/testcases/kernel/fs/iso9660/isofs.sh b/testcases/kernel/fs/iso9660/isofs.sh index d1a362d979..088e062d67 100755 --- a/testcases/kernel/fs/iso9660/isofs.sh +++ b/testcases/kernel/fs/iso9660/isofs.sh @@ -13,10 +13,19 @@ TST_NEEDS_CMDS="mount umount" TST_NEEDS_TMPDIR=1 TST_TESTFUNC=do_test TST_CNT=3 +TST_SETUP="setup" MAX_DEPTH=3 MAX_DIRS=4 +TEST_USER='nobody' + +setup() +{ + TEST_GROUP="$(id -g -n $TEST_USER)" + [ "$TEST_GROUP" ] || TEST_GROUP="$TEST_USER" +} + gen_fs_tree() { local cur_path="$1" @@ -92,8 +101,8 @@ do_test() "loop,block=512,unhide" \ "loop,block=1024,cruft" \ "loop,block=2048,nocompress" \ - "loop,check=strict,map=off,gid=bin,uid=bin" \ - "loop,check=strict,map=acorn,gid=bin,uid=bin" \ + "loop,check=strict,map=off,gid=$TEST_GROUP,uid=$TEST_USER" \ + "loop,check=strict,map=acorn,gid=$TEST_GROUP,uid=$TEST_USER" \ "loop,check=relaxed,map=normal" \ "loop,block=512,unhide,session=2" do