summaryrefslogtreecommitdiffstats
path: root/meta/recipes-extended/shadow/files/0001-useradd-copy-extended-attributes-of-home.patch
blob: 474b3a257ee4512967781d304ebfefc38650efdd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
Subject: [PATCH] useradd: copy extended attributes of home

The Home directory wasn't getting the extended attributes
of /etc/skel. This patch fixes that issue and adds the copy
of the extended attributes of the root of the home directory.

Upstream-Status: Pending

Signed-off-by: José Bollo <jose.bollo@iot.bzh>
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
---
 src/useradd.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/src/useradd.c b/src/useradd.c
index e721e52..c74e491 100644
--- a/src/useradd.c
+++ b/src/useradd.c
@@ -54,6 +54,9 @@
 #include <sys/wait.h>
 #include <time.h>
 #include <unistd.h>
+#ifdef WITH_ATTR
+#include <attr/libattr.h>
+#endif
 #include "chkname.h"
 #include "defines.h"
 #include "faillog.h"
@@ -2042,6 +2045,9 @@ static void create_home (void)
 		(void) chown (prefix_user_home, user_id, user_gid);
 		chmod (prefix_user_home,
 		       0777 & ~getdef_num ("UMASK", GETDEF_DEFAULT_UMASK));
+#ifdef WITH_ATTR
+	               attr_copy_file (def_template, user_home, NULL, NULL);
+#endif
 		home_added = true;
 #ifdef WITH_AUDIT
 		audit_logger (AUDIT_ADD_USER, Prog,
-- 
2.11.0