adduser: set default shell with /sbin/nologin

Shell nologin whether provided by shadow or util-linux is installed to
/sbin/nologin in oe-core. But the default shell of adduser is
/usr/sbin/nologin and will fail to create a new user.

Set the default shell with /sbin/nologin to fix the issue.

Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
(cherry picked from commit d49c0eba5b)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
This commit is contained in:
Kai Kang 2020-01-09 14:15:58 +08:00 committed by Armin Kuster
parent ae5aa7b7e9
commit 81e186f614
2 changed files with 35 additions and 0 deletions

View File

@ -8,6 +8,7 @@ LIC_FILES_CHKSUM = "file://debian/copyright;md5=caed49ab166f22ef31bf1127f558d0ef
SRC_URI = "https://launchpad.net/debian/+archive/primary/+sourcefiles/adduser/${PV}/${BPN}_${PV}.tar.xz \
file://adduser-add-M-option-for-useradd.patch \
file://0001-adduser-set-default-shell-with-sbin-nologin.patch \
"
SRC_URI[md5sum] = "44ba2475ebdaafc9613236bdda321c97"

View File

@ -0,0 +1,34 @@
From 75e949bf80bf5e3e5bd8f81b258095e662b705c4 Mon Sep 17 00:00:00 2001
From: Kai Kang <kai.kang@windriver.com>
Date: Thu, 9 Jan 2020 13:51:28 +0800
Subject: [PATCH] adduser: set default shell with /sbin/nologin
Shell nologin whether provided by shadow or util-linux is installed to
/sbin/nologin in oe-core. But the default shell of adduser is
/usr/sbin/nologin and will fail to create a new user.
Set the default shell with /sbin/nologin to fix the issue.
Upstream-Status: Inappropriate [OE specific]
Signed-off-by: Kai Kang <kai.kang@windriver.com>
---
adduser | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/adduser b/adduser
index 0f24cc9..ab554d0 100755
--- a/adduser
+++ b/adduser
@@ -431,7 +431,7 @@ if ($action eq "addsysuser") {
printf gtx("Adding new user `%s' (UID %d) with group `%s' ...\n"),$new_name,$new_uid,$ingroup_name
if $verbose;
$home_dir = $special_home || &homedir($new_name, $ingroup_name);
- $shell = $special_shell || '/usr/sbin/nologin';
+ $shell = $special_shell || '/sbin/nologin';
$undouser = $new_name;
my $useradd = &which('useradd');
&systemcall($useradd, '-d', $home_dir, '-g', $ingroup_name, '-s',
--
2.17.1