[oe] [meta-perl][PATCH] adduser: set default shell with /sbin/nologin

kai.kang at windriver.com kai.kang at windriver.com
Thu Jan 9 06:15:58 UTC 2020


From: Kai Kang <kai.kang at windriver.com>

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 at windriver.com>
---
 .../recipes-perl/adduser/adduser_3.118.bb     |  1 +
 ...-set-default-shell-with-sbin-nologin.patch | 34 +++++++++++++++++++
 2 files changed, 35 insertions(+)
 create mode 100644 meta-perl/recipes-perl/adduser/files/0001-adduser-set-default-shell-with-sbin-nologin.patch

diff --git a/meta-perl/recipes-perl/adduser/adduser_3.118.bb b/meta-perl/recipes-perl/adduser/adduser_3.118.bb
index e695c5894..80cf14286 100644
--- a/meta-perl/recipes-perl/adduser/adduser_3.118.bb
+++ b/meta-perl/recipes-perl/adduser/adduser_3.118.bb
@@ -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"
diff --git a/meta-perl/recipes-perl/adduser/files/0001-adduser-set-default-shell-with-sbin-nologin.patch b/meta-perl/recipes-perl/adduser/files/0001-adduser-set-default-shell-with-sbin-nologin.patch
new file mode 100644
index 000000000..91cc6bcba
--- /dev/null
+++ b/meta-perl/recipes-perl/adduser/files/0001-adduser-set-default-shell-with-sbin-nologin.patch
@@ -0,0 +1,34 @@
+From 75e949bf80bf5e3e5bd8f81b258095e662b705c4 Mon Sep 17 00:00:00 2001
+From: Kai Kang <kai.kang at 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 at 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
+
-- 
2.17.1



More information about the Openembedded-devel mailing list