Hello,

bgplgsh.8 shows an invocation to adduser with full path to bgplgsh,
which is wrong:

lg# echo /usr/bin/bgplgsh >> /etc/shells

lg# adduser -shell /usr/bin/bgplgsh -batch rviews
Shell ``/usr/bin/bgplgsh'' is undefined, use ``csh''
Added user ``rviews''

lg# getent passwd rviews
rviews:*:1004:999::/home/rviews:/bin/csh   <<<

lg# userdel rviews

lg# adduser -shell bgplgsh -batch rviews
Added user ``rviews''

lg# getent passwd rviews
rviews:*:1004:999::/home/rviews:/usr/bin/bgplgsh

on a related note, adduser(8) in interactive mode doesn't call
shell_default_valid(), so it defaults to sh if invalid:
lg# adduser -shell /usr/bin/bgplgsh rviews
[...]
Enter shell bgplgsh csh ksh nologin sh [/usr/bin/bgplgsh]: <<< accept
default here
[...]
Added user ``rviews''

lg# getent passwd rviews
rviews:*:1004:999:cli looking glass user:/home/rviews:     <<< no shell
(not sure if that qualifies as a bug though - quite stupid in the
first place to invoke adduser as such).

regards

--- bgplgsh.8   10 Sep 2015 15:16:44 -0000      1.11
+++ bgplgsh.8   14 Mar 2019 21:20:21 -0000
@@ -53,7 +53,7 @@ See
 .Xr adduser 8
 for more information about system user management.
 .Bd -literal -offset indent
-# adduser -shell /usr/bin/bgplgsh -batch bgplg
+# adduser -shell bgplgsh -batch bgplg
 # passwd bgplg
 .Ed
 .It

Reply via email to