blob: 4b0a03f02a37eb841b567776764db8d808ecb76c [file] [log] [blame]
Patrick Williamsb48b7b42016-08-17 15:04:38 -05001From 809f00a6ef0224b41b2e1207194c8da3cd3e3c7e Mon Sep 17 00:00:00 2001
2From: Jackie Huang <jackie.huang@windriver.com>
3Date: Thu, 18 Dec 2014 17:23:37 +0800
4Subject: [PATCH] adduser: add -M option for useradd when --no-create-home is specified
5
6The useradd (from package passwd) in debian based system sets -M (--no-create-home) by default,
7but the one we are using (from package shadow) sets -m (--create-home) by default, so we
8need to explicitly add -M option for useradd call when --no-create-home is specified for adduser.
9
10Upstream-Status: Pending
11
12Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
13---
14 adduser | 20 ++++++++++++++++----
15 1 files changed, 16 insertions(+), 4 deletions(-)
16
17diff --git a/adduser b/adduser
18index c3bd8b0..9a07f9f 100755
19--- a/adduser
20+++ b/adduser
21@@ -434,8 +434,14 @@ if ($action eq "addsysuser") {
22 $shell = $special_shell || '/bin/false';
23 $undouser = $new_name;
24 my $useradd = &which('useradd');
25- &systemcall($useradd, '-d', $home_dir, '-g', $ingroup_name, '-s',
26- $shell, '-u', $new_uid, $new_name);
27+ if ($no_create_home) {
28+ &systemcall($useradd, '-d', $home_dir, '-g', $ingroup_name, '-s',
29+ $shell, '-u', $new_uid, '-M', $new_name);
30+ }
31+ else {
32+ &systemcall($useradd, '-d', $home_dir, '-g', $ingroup_name, '-s',
33+ $shell, '-u', $new_uid, $new_name);
34+ }
35 if(!$disabled_login) {
36 my $usermod = &which('usermod');
37 &systemcall($usermod, '-p', '*', $new_name);
38@@ -524,8 +530,14 @@ if ($action eq "adduser") {
39 $shell = $special_shell || $config{"dshell"};
40 $undouser = $new_name;
41 my $useradd = &which('useradd');
42- &systemcall($useradd, '-d', $home_dir, '-g', $ingroup_name, '-s',
43- $shell, '-u', $new_uid, $new_name);
44+ if ($no_create_home) {
45+ &systemcall($useradd, '-d', $home_dir, '-g', $ingroup_name, '-s',
46+ $shell, '-u', $new_uid, '-M', $new_name);
47+ }
48+ else {
49+ &systemcall($useradd, '-d', $home_dir, '-g', $ingroup_name, '-s',
50+ $shell, '-u', $new_uid, $new_name);
51+ }
52 &invalidate_nscd();
53
54 create_homedir (1); # copy skeleton data
55--
561.7.1
57